Render

Trait Render 

Source
pub trait Render {
    // Required method
    fn render_to(&self, buffer: &mut String);

    // Provided method
    fn render(&self) -> String { ... }
}
Expand description

The markup! macro will render interpolated content by wrapping it in this trait’s Render::render_to function.

Implementing this trait for types will allow them them to be used directly in the markup! macro.

§Example

let markup = collage::markup! { (42) };
// Is equivalent to
let markup = {
    extern crate alloc;
    extern crate collage;
    &|__collage_buffer: &mut alloc::string::String| {
        __collage_buffer.reserve(4usize);
        collage::Render::render_to(&42, __collage_buffer);
    }
};

Required Methods§

Source

fn render_to(&self, buffer: &mut String)

Renders self to a mutable String buffer.

Provided Methods§

Source

fn render(&self) -> String

Renders self to a String.

Implementations on Foreign Types§

Source§

impl Render for &str

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for Cow<'_, str>

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for bool

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for char

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for f32

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for f64

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for i8

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for i16

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for i32

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for i64

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for i128

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for isize

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for str

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for u8

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for u16

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for u32

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for u64

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for u128

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for usize

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl Render for String

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl<T: Render> Render for Option<T>

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl<T: Render> Render for Rc<T>

Source§

fn render_to(&self, buffer: &mut String)

Source§

impl<T: Render> Render for Arc<T>

Source§

fn render_to(&self, buffer: &mut String)

Implementors§

Source§

impl<F: FnOnce(&mut String) + Copy> Render for F