Struct swipl::stream::WritablePrologStream
source · pub struct WritablePrologStream<'a> { /* private fields */ }
Expand description
A stream from prolog that can be directly written to.
This stream will be in a claimed state, meaning, any attempted handling of this stream from another (prolog) thread will fail. On drop, this claim will be released. It is therefore important to drop this stream as soon as possible.
Implementations§
source§impl<'a> WritablePrologStream<'a>
impl<'a> WritablePrologStream<'a>
sourcepub unsafe fn new(stream: *mut IOSTREAM) -> WritablePrologStream<'a> ⓘ
pub unsafe fn new(stream: *mut IOSTREAM) -> WritablePrologStream<'a> ⓘ
Wrap a writable prolog stream.
Safety
This is only safe to do with actual IOSTREAMs coming out of SWI-Prolog, which are writable.
pub fn encoding(&self) -> StreamEncoding
Trait Implementations§
source§impl<'a> Drop for WritablePrologStream<'a>
impl<'a> Drop for WritablePrologStream<'a>
source§impl<'a> TermGetable for WritablePrologStream<'a>
impl<'a> TermGetable for WritablePrologStream<'a>
source§impl<'a> Write for WritablePrologStream<'a>
impl<'a> Write for WritablePrologStream<'a>
source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl<'a> RefUnwindSafe for WritablePrologStream<'a>
impl<'a> !Send for WritablePrologStream<'a>
impl<'a> !Sync for WritablePrologStream<'a>
impl<'a> Unpin for WritablePrologStream<'a>
impl<'a> UnwindSafe for WritablePrologStream<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more