Struct basic_text::TextWriter[][src]

pub struct TextWriter<Inner> { /* fields omitted */ }

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.

Implementations

impl<Inner: WriteStr + WriteLayered> TextWriter<Inner>[src]

pub fn new(inner: Inner) -> Self[src]

Construct a new instance of TextWriter wrapping inner.

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]

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.

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]

Return the underlying stream object.

Trait Implementations

impl<Inner: WriteStr + WriteLayered + AsRawHandleOrSocket> AsRawHandleOrSocket for TextWriter<Inner>[src]

impl<Inner: WriteStr + WriteLayered> Bufferable for TextWriter<Inner>[src]

impl<Inner: Debug> Debug for TextWriter<Inner>[src]

impl<Inner: OwnsRaw> OwnsRaw for TextWriter<Inner>[src]

impl<Inner: WriteStr + WriteLayered> Write 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> WriteText for TextWriter<Inner>[src]

Auto Trait Implementations

impl<Inner> RefUnwindSafe for TextWriter<Inner> where
    Inner: RefUnwindSafe

impl<Inner> Send for TextWriter<Inner> where
    Inner: Send

impl<Inner> Sync for TextWriter<Inner> where
    Inner: Sync

impl<Inner> Unpin for TextWriter<Inner> where
    Inner: Unpin

impl<Inner> UnwindSafe for TextWriter<Inner> where
    Inner: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> AsUnsafeHandle for T where
    T: OwnsRaw + AsRawHandleOrSocket
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.