pub struct IoTryWriter<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 FmtTryWriter,
but provides write and flush methods that allows you to use BufWriter, LineWriter etc.
Write function can return either (), usize, io::Result<()>, io::Result<usize>,
Result<(), ffi::NulError> or Result<usize, ffi::NulError>.
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 io::Result<()>.
Writer propagates error to the caller if the write function returns Result::Err.
Implementations§
Source§impl<F1, F2> IoTryWriter<F1, F2>
impl<F1, F2> IoTryWriter<F1, F2>
Sourcepub fn new(write: F1, flush: F2) -> Self
pub fn new(write: F1, flush: F2) -> Self
Creates a new IoTryWriter from an object that implements WriteBytes
and object that implements Flush.
Source§impl<F1> IoTryWriter<F1, ()>where
F1: WriteStr,
impl<F1> IoTryWriter<F1, ()>where
F1: WriteStr,
Sourcepub fn from_closure<F, Ts>(closure: F) -> Selfwhere
F: IntoTryWriteFn<Ts, TryWriteFn = F1>,
pub fn from_closure<F, Ts>(closure: F) -> Selfwhere
F: IntoTryWriteFn<Ts, TryWriteFn = F1>,
Creates a new IoTryWriter with a WriteBytes wrapper
deduced with IntoTryWriteFn by the closure signature and constructed from it.
Source§impl<F1> IoTryWriter<F1, ()>where
Self: Write,
impl<F1> IoTryWriter<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, returning any error encountered.
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: Clone, F2: Clone> Clone for IoTryWriter<F1, F2>
impl<F1: Clone, F2: Clone> Clone for IoTryWriter<F1, F2>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<F1, F2> Flush for IoTryWriter<F1, F2>
impl<F1, F2> Flush for IoTryWriter<F1, F2>
Source§impl<F1, F2> Write for IoTryWriter<F1, F2>
impl<F1, F2> Write for IoTryWriter<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)