pub struct PrettyDisplay<'a, T: ?Sized + DisplayPretty> { /* private fields */ }Expand description
A wrapper that implements Display for pretty formatting.
This type is returned by DisplayPretty::display and bridges the gap
between the DisplayPretty trait (which requires options) and Rust’s
standard Display trait (which does not).
§Examples
use tokit::utils::sdl_display::DisplayPretty;
struct Data { value: i32 }
impl DisplayPretty for Data {
type Options = usize; // indentation level
fn fmt(&self, f: &mut core::fmt::Formatter<'_>, indent: &usize) -> core::fmt::Result {
let spaces = " ".repeat(*indent);
writeln!(f, "{}Data {{", spaces)?;
writeln!(f, "{} value: {}", spaces, self.value)?;
write!(f, "{}}}", spaces)
}
}
let data = Data { value: 42 };
let display_wrapper = data.display(&0);
// Now you can use it with format! and println!
println!("{}", display_wrapper);
// Output:
// Data {
// value: 42
// }Trait Implementations§
Source§impl<T> Display for PrettyDisplay<'_, T>where
T: DisplayPretty + ?Sized,
impl<T> Display for PrettyDisplay<'_, T>where
T: DisplayPretty + ?Sized,
Source§impl<T> DisplaySDL for PrettyDisplay<'_, T>where
T: DisplayPretty + ?Sized,
impl<T> DisplaySDL for PrettyDisplay<'_, T>where
T: DisplayPretty + ?Sized,
Auto Trait Implementations§
impl<'a, T> Freeze for PrettyDisplay<'a, T>where
T: ?Sized,
impl<'a, T> RefUnwindSafe for PrettyDisplay<'a, T>
impl<'a, T> Send for PrettyDisplay<'a, T>
impl<'a, T> Sync for PrettyDisplay<'a, T>
impl<'a, T> Unpin for PrettyDisplay<'a, T>where
T: ?Sized,
impl<'a, T> UnwindSafe for PrettyDisplay<'a, T>
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