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
)