Struct basic_text::TextWriter [−][src]
pub struct TextWriter<Inner> { /* fields omitted */ }Expand description
A WriteLayered implementation which translates to an output
WriteLayered producing a valid Basic Text stream from an arbitrary
byte sequence.
write is not guaranteed to perform a single operation, because short
writes could produce invalid UTF-8, so write will retry as needed.
Examples
use basic_text::TextWriter; let output = TextWriter::new(std::io::stdout()); // write to `output`
Implementations
impl<Inner: Write> TextWriter<Utf8Writer<LayeredWriter<Inner>>>[src]
impl<Inner: Write> TextWriter<Utf8Writer<LayeredWriter<Inner>>>[src]pub fn new(inner: Inner) -> Self[src]
pub fn new(inner: Inner) -> Self[src]Construct a new instance of TextWriter wrapping inner, which can be
anything that implements Write.
pub fn with_bom_compatibility(inner: Inner) -> Result<Self>[src]
pub fn with_bom_compatibility(inner: Inner) -> Result<Self>[src]Like new, but writes a U+FEFF (BOM) to the beginning of the output
stream for compatibility with consumers that require that to determine
the text encoding.
pub fn with_crlf_compatibility(inner: Inner) -> Self[src]
pub fn with_crlf_compatibility(inner: Inner) -> Self[src]Like new, but enables CRLF output mode, which translates “\n” to
“\r\n” for compatibility with consumers that need that.
Note: This is not often needed; even on Windows these days most things are ok with plain ‘\n’ line endings, including Windows Notepad. The main notable things that really need them are IETF RFCs, for example RFC-5198.
impl<Inner: WriteStr + WriteLayered> TextWriter<Inner>[src]
impl<Inner: WriteStr + WriteLayered> TextWriter<Inner>[src]pub fn from_utf8(inner: Inner) -> Self[src]
pub fn from_utf8(inner: Inner) -> Self[src]Construct a new instance of TextWriter wrapping inner, which
can be anything that implements WriteStr + WriteLayered, such as a
Utf8Writer.
pub fn from_utf8_with_bom_compatibility(inner: Inner) -> Result<Self>[src]
pub fn from_utf8_with_bom_compatibility(inner: Inner) -> Result<Self>[src]Like from_utf8, but writes a U+FEFF (BOM) to the beginning of the output
stream for compatibility with consumers that require that to determine
the text encoding.
pub fn from_utf8_with_crlf_compatibility(inner: Inner) -> Self[src]
pub fn from_utf8_with_crlf_compatibility(inner: Inner) -> Self[src]Like from_utf8, but enables CRLF output mode, which translates “\n” to
“\r\n” for compatibility with consumers that need that.
Note: This is not often needed; even on Windows these days most things are ok with plain ‘\n’ line endings, including Windows Notepad. The main notable things that really need them are IETF RFCs, for example RFC-5198.
pub fn close_into_inner(self) -> Result<Inner>[src]
pub fn close_into_inner(self) -> Result<Inner>[src]Flush and close the underlying stream and return the underlying stream object.
pub fn abandon_into_inner(self) -> Inner[src]
pub fn abandon_into_inner(self) -> Inner[src]Return the underlying stream object.
Trait Implementations
impl<Inner: WriteStr + WriteLayered + AsRawHandleOrSocket> AsRawHandleOrSocket for TextWriter<Inner>[src]
impl<Inner: WriteStr + WriteLayered + AsRawHandleOrSocket> AsRawHandleOrSocket for TextWriter<Inner>[src]fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket[src]
fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket[src]Like AsRawHandle::as_raw_handle and AsRawSocket::as_raw_socket
but can return either type. Read more
impl<Inner: WriteStr + WriteLayered> Bufferable for TextWriter<Inner>[src]
impl<Inner: WriteStr + WriteLayered> Bufferable for TextWriter<Inner>[src]fn suggested_buffer_size(&self) -> usize[src]
fn suggested_buffer_size(&self) -> usize[src]A suggested size, in bytes, for buffering for performance.
impl<Inner: Debug> Debug for TextWriter<Inner>[src]
impl<Inner: Debug> Debug for TextWriter<Inner>[src]impl<Inner: WriteStr + WriteLayered> Write for TextWriter<Inner>[src]
impl<Inner: WriteStr + WriteLayered> Write for TextWriter<Inner>[src]fn write(&mut self, buf: &[u8]) -> Result<usize>[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>[src]Write a buffer into this writer, returning how many bytes were written. Read more
fn flush(&mut self) -> Result<()>[src]
fn flush(&mut self) -> Result<()>[src]Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn is_write_vectored(&self) -> bool[src]
fn is_write_vectored(&self) -> bool[src]can_vector)Determines if this Writer has an efficient write_vectored
implementation. Read more
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>[src]
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>[src]write_all_vectored)Attempts to write multiple buffers into this writer. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>1.0.0[src]
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>1.0.0[src]Attempts to write an entire buffer into this writer. Read more
impl<Inner: WriteStr + WriteLayered> WriteLayered for TextWriter<Inner>[src]
impl<Inner: WriteStr + WriteLayered> WriteLayered for TextWriter<Inner>[src]impl<Inner: WriteStr + WriteLayered> WriteStr for TextWriter<Inner>[src]
impl<Inner: WriteStr + WriteLayered> WriteStr for TextWriter<Inner>[src]impl<Inner: WriteStr + WriteLayered> WriteText for TextWriter<Inner>[src]
impl<Inner: WriteStr + WriteLayered> WriteText for TextWriter<Inner>[src]fn write_text_substr(&mut self, s: &TextSubstr) -> Result<()>[src]
fn write_text_substr(&mut self, s: &TextSubstr) -> Result<()>[src]Like WriteStr::write_str but writes from a TextSubstr.
fn write_text(&mut self, buf: &TextStr) -> Result<()>[src]
fn write_text(&mut self, buf: &TextStr) -> Result<()>[src]Like WriteStr::write_str but writes from a TextStr.
impl<Inner: OwnsRaw> OwnsRaw for TextWriter<Inner>[src]
Auto Trait Implementations
impl<Inner> RefUnwindSafe for TextWriter<Inner> where
Inner: RefUnwindSafe,
Inner: RefUnwindSafe,
impl<Inner> Send for TextWriter<Inner> where
Inner: Send,
Inner: Send,
impl<Inner> Sync for TextWriter<Inner> where
Inner: Sync,
Inner: Sync,
impl<Inner> Unpin for TextWriter<Inner> where
Inner: Unpin,
Inner: Unpin,
impl<Inner> UnwindSafe for TextWriter<Inner> where
Inner: UnwindSafe,
Inner: UnwindSafe,
Blanket Implementations
impl<T> AsUnsafeHandle for T where
T: AsRawHandleOrSocket + OwnsRaw, [src]
impl<T> AsUnsafeHandle for T where
T: AsRawHandleOrSocket + OwnsRaw, [src]pub fn as_unsafe_handle(&self) -> UnsafeHandle[src]
pub fn as_unsafe_handle(&self) -> UnsafeHandle[src]Return the contained unsafe handle.
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more