pub trait RenderElement<T> {
// Required method
fn render(
&mut self,
elem: &T,
ctx: &RenderContext<'_>,
buf: impl Write,
) -> Result<()>;
// Provided method
fn render_inner(
&mut self,
elem: &T,
ctx: &RenderContext<'_>,
) -> Result<CowStr> { ... }
}
Expand description
The base trait that renderers should implement for each type used by [create::ast::Ast].
Required Methods§
Provided Methods§
Sourcefn render_inner(&mut self, elem: &T, ctx: &RenderContext<'_>) -> Result<CowStr>
fn render_inner(&mut self, elem: &T, ctx: &RenderContext<'_>) -> Result<CowStr>
Convenience function for creating a buffer, rendering the element into the buffer, and returning the result as a string. This is useful when an inner element needs to be rendered first to be used in an outer element, hence the name.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl RenderElement<Block> for GenericRenderer
impl RenderElement<Inline> for GenericRenderer
impl RenderElement<CodeOutput> for GenericRenderer
impl<T: RenderElement<R>, R> RenderElement<Vec<R>> for T
Implementation for vectors of elements. Automatically implemented for any type that implements the trait.