[−][src]Trait sailfish::runtime::Render
types which can be rendered inside buffer block (<%= %>
)
If you want to render the custom data, you must implement this trait and specify the behaviour.
Safety
This trait allows modifying the previously-rendered contents or even decreasing the
buffer size. However, such an operation easily cause unexpected rendering results.
In order to avoid this, implementors should ensure that the contents which is already
rendered won't be changed during render
or render_escaped
method is called.
Examples
use sailfish::runtime::{Buffer, Render, RenderError}; struct MyU64(u64); impl Render for MyU64 { #[inline] fn render(&self, b: &mut Buffer) -> Result<(), RenderError> { self.0.render(b) } }
Required methods
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
render to Buffer
without escaping
Provided methods
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
render to Buffer
with HTML escaping
Implementations on Foreign Types
impl Render for String
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'_> Render for &'_ str
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for char
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for PathBuf
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for Path
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for bool
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for u8
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for u16
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for u32
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for u64
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for u128
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for i8
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for i16
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for i32
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for i64
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for i128
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for usize
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for isize
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for f32
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for f64
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render + ?Sized> Render for &'a T
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render + ?Sized> Render for &'a mut T
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<T: Render + ?Sized> Render for Box<T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<T: Render + ?Sized> Render for Rc<T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<T: Render + ?Sized> Render for Arc<T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render + ToOwned + ?Sized> Render for Cow<'a, T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render + ?Sized> Render for Ref<'a, T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render + ?Sized> Render for RefMut<'a, T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render + ?Sized> Render for MutexGuard<'a, T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render + ?Sized> Render for RwLockReadGuard<'a, T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render + ?Sized> Render for RwLockWriteGuard<'a, T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroI8
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroI16
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroI32
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroI64
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroI128
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroIsize
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroU8
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroU16
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroU32
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroU64
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroU128
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl Render for NonZeroUsize
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<T: Render> Render for Wrapping<T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
Implementors
impl<'a, T: Render> Render for Lower<'a, T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render> Render for Trim<'a, T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render> Render for Truncate<'a, T>
[src]
pub fn render(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
pub fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>
[src]
impl<'a, T: Render> Render for Upper<'a, T>
[src]
impl<'a, T: Debug> Render for Debug<'a, T>
[src]
impl<'a, T: Display> Render for Display<'a, T>
[src]
impl<'a, T: Serialize> Render for Json<'a, T>
[src]
This is supported on crate feature
json
only.