pub struct Indented<'a, D: ?Sized> { /* private fields */ }
Expand description
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§
source§impl<'a, D> Indented<'a, D>
impl<'a, D> Indented<'a, D>
sourcepub fn ind(self, ind: usize) -> Self
pub fn ind(self, ind: usize) -> Self
Sets the format to Format::Numbered
with the provided index
sourcepub fn with_str(self, indentation: &'static str) -> Self
pub fn with_str(self, indentation: &'static str) -> Self
Sets the format to Format::Uniform
with the provided static string
sourcepub fn with_format(self, format: Format<'a>) -> Self
pub fn with_format(self, format: Format<'a>) -> Self
Construct an indenter with a user defined format
Trait Implementations§
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more