Struct indenter::Indented[][src]

pub struct Indented<'a, D: ?Sized> { /* fields omitted */ }

Helper struct for efficiently indenting multi line display implementations

Explanation

This type will never allocate a string to handle inserting indentation. It instead leverages the write_str function that serves as the foundation of the core::fmt::Write trait. This lets it intercept each piece of output as its being written to the output buffer. It then splits on newlines giving slices into the original string. Finally we alternate writing these lines and the specified indentation to the output buffer.

Implementations

impl<'a, D> Indented<'a, D>[src]

pub fn ind(self, ind: usize) -> Self[src]

Sets the format to Format::Numbered with the provided index

pub fn with_str(self, indentation: &'static str) -> Self[src]

Sets the format to Format::Uniform with the provided static string

pub fn with_format(self, format: Format<'a>) -> Self[src]

Construct an indenter with a user defined format

Trait Implementations

impl<T: ?Sized> Write for Indented<'_, T> where
    T: Write
[src]

Auto Trait Implementations

impl<'a, D> !RefUnwindSafe for Indented<'a, D>

impl<'a, D> !Send for Indented<'a, D>

impl<'a, D> !Sync for Indented<'a, D>

impl<'a, D: ?Sized> Unpin for Indented<'a, D>

impl<'a, D> !UnwindSafe for Indented<'a, D>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[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.