Struct Writer

Source
pub struct Writer<'a> { /* private fields */ }
Expand description

Writer implements buffering for an std::io::Write object. If an error occurs writing to a Writer, no more data will be accepted and all subsequent writes, and flush, will return the error. After all data has been written, the client should call the flush method to guarantee all data has been forwarded to the underlying std::io::Write.

Consider using native Rust std::io::BufWriter.

Implementations§

Source§

impl<'a> Writer<'a>

Source

pub fn new(w: &'a mut dyn Write) -> Self

new returns a new Writer whose buffer has the default size.

Examples found in repository?
examples/bufio-writer.rs (line 17)
14fn example_writer() -> std::io::Result<()> {
15    let stdout = std::io::stdout();
16    let mut stdout_lock = stdout.lock();
17    let mut w = bufio::Writer::new(&mut stdout_lock);
18    w.write_all(b"Hello, ")?;
19    w.write_all(b"world!")?;
20    w.flush()?; // Don't forget to flush!
21    Ok(())
22}
Source

pub fn new_size(w: &'a mut dyn Write, size: usize) -> Self

new_size returns a new Writer whose buffer has at least the specified size.

Source

pub fn size(&self) -> usize

size returns the size of the underlying buffer in bytes.

Source

pub fn reset(&mut self, w: &'a mut dyn Write)

reset discards any unflushed buffered data, clears any error, and resets b to write its output to w.

Source

pub fn available(&self) -> usize

Source

pub fn write_byte(&mut self, c: u8) -> Result<()>

write_byte writes a single byte.

Source

pub fn write_string(&mut self, s: &str) -> Result<usize>

write_string writes a string. It returns the number of bytes written.

Trait Implementations§

Source§

impl Write for Writer<'_>

Source§

fn write(&mut self, p: &[u8]) -> Result<usize>

Write writes the contents of p into the buffer. It returns the number of bytes written.

Source§

fn flush(&mut self) -> Result<()>

flush writes any buffered data to the underlying std::io::Write.

1.36.0 · Source§

fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

Like write, except that it writes from a slice of buffers. Read more
Source§

fn is_write_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector)
Determines if this Writer has an efficient write_vectored implementation. Read more
1.0.0 · Source§

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>

🔬This is a nightly-only experimental API. (write_all_vectored)
Attempts to write multiple buffers into this writer. Read more
1.0.0 · Source§

fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

Writes a formatted string into this writer, returning any error encountered. Read more
1.0.0 · Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Write. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Writer<'a>

§

impl<'a> !RefUnwindSafe for Writer<'a>

§

impl<'a> !Send for Writer<'a>

§

impl<'a> !Sync for Writer<'a>

§

impl<'a> Unpin for Writer<'a>

§

impl<'a> !UnwindSafe for Writer<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.