pub struct IoWriter<F1, F2>(/* private fields */);Expand description
A writer that uses write_bytes and has both write and flush methods.
It calls write_bytes for each formatted chunk like the FmtWriter,
but provides write and flush methods that allows you to use BufWriter, LineWriter etc.
Write function can return either
(), usize, for<E> Result<(), E> or for<E> Result<usize, E>.
The usize itself or in Result indicates how many bytes were written.
write_fmt method that is used by write! and writeln!
will continuously call write until there is no more data to be written
or a non-ErrorKind::Interrupted kind is returned.
Flush function can return either () or [for<E> Result<(), E>].
§Panics
Writer panics if the write function returns Result::Err.
Implementations§
Source§impl<F1, F2> IoWriter<F1, F2>
impl<F1, F2> IoWriter<F1, F2>
Sourcepub fn new(write: F1, flush: F2) -> Self
pub fn new(write: F1, flush: F2) -> Self
Creates a new IoWriter from an object that implements WriteBytes
and object that implements Flush.
Source§impl<F1> IoWriter<F1, ()>where
F1: WriteStr,
impl<F1> IoWriter<F1, ()>where
F1: WriteStr,
Sourcepub fn from_closure<F, Ts>(closure: F) -> Selfwhere
F: IntoWriteFn<Ts, WriteFn = F1>,
pub fn from_closure<F, Ts>(closure: F) -> Selfwhere
F: IntoWriteFn<Ts, WriteFn = F1>,
Creates a new IoWriter with a WriteBytes wrapper
deduced with IntoWriteFn by the closure signature and constructed from it.
Source§impl<F1> IoWriter<F1, ()>where
Self: Write,
impl<F1> IoWriter<F1, ()>where
Self: Write,
Sourcepub fn write_fmt(&mut self, args: Arguments<'_>) -> Result<()>
pub fn write_fmt(&mut self, args: Arguments<'_>) -> Result<()>
Writes a formatted string into this writer.
This method is primarily used to interface with the format_args! macro,
but it is rare that this should explicitly be called.
The write! macro should be favored to invoke this method instead.
Trait Implementations§
Source§impl<F1, F2> Write for IoWriter<F1, F2>
impl<F1, F2> Write for IoWriter<F1, F2>
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored)