Trait ramhorns::Content

source ·
pub trait Content {
    // Provided methods
    fn is_truthy(&self) -> bool { ... }
    fn capacity_hint(&self, _tpl: &Template<'_>) -> usize { ... }
    fn render_escaped<E: Encoder>(
        &self,
        _encoder: &mut E
    ) -> Result<(), E::Error> { ... }
    fn render_unescaped<E: Encoder>(
        &self,
        encoder: &mut E
    ) -> Result<(), E::Error> { ... }
    fn render_section<C, E>(
        &self,
        section: Section<'_, C>,
        encoder: &mut E
    ) -> Result<(), E::Error>
       where C: ContentSequence,
             E: Encoder { ... }
    fn render_inverse<C, E>(
        &self,
        section: Section<'_, C>,
        encoder: &mut E
    ) -> Result<(), E::Error>
       where C: ContentSequence,
             E: Encoder { ... }
    fn render_field_escaped<E: Encoder>(
        &self,
        _hash: u64,
        _name: &str,
        _encoder: &mut E
    ) -> Result<bool, E::Error> { ... }
    fn render_field_unescaped<E: Encoder>(
        &self,
        _hash: u64,
        _name: &str,
        _encoder: &mut E
    ) -> Result<bool, E::Error> { ... }
    fn render_field_section<C, E>(
        &self,
        _hash: u64,
        _name: &str,
        _section: Section<'_, C>,
        _encoder: &mut E
    ) -> Result<bool, E::Error>
       where C: ContentSequence,
             E: Encoder { ... }
    fn render_field_inverse<C, E>(
        &self,
        _hash: u64,
        _name: &str,
        _section: Section<'_, C>,
        _encoder: &mut E
    ) -> Result<bool, E::Error>
       where C: ContentSequence,
             E: Encoder { ... }
}
Expand description

Trait allowing the rendering to quickly access data stored in the type that implements it. You needn’t worry about implementing it, in virtually all cases the #[derive(Content)] attribute above your types should be sufficient.

Provided Methods§

source

fn is_truthy(&self) -> bool

Marks whether this content is truthy. Used when attempting to render a section.

source

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

How much capacity is likely required for all the data in this Content for a given Template.

source

fn render_escaped<E: Encoder>(&self, _encoder: &mut E) -> Result<(), E::Error>

Renders self as a variable to the encoder.

This will escape HTML characters, eg: < will become &lt;.

source

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

Renders self as a variable to the encoder.

This doesn’t perform any escaping at all.

source

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

Render a section with self.

source

fn render_inverse<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

Render a section with self.

source

fn render_field_escaped<E: Encoder>( &self, _hash: u64, _name: &str, _encoder: &mut E ) -> Result<bool, E::Error>

Render a field by the hash or string of its name.

This will escape HTML characters, eg: < will become &lt;. If successful, returns true if the field exists in this content, otherwise false.

source

fn render_field_unescaped<E: Encoder>( &self, _hash: u64, _name: &str, _encoder: &mut E ) -> Result<bool, E::Error>

Render a field by the hash or string of its name.

This doesn’t perform any escaping at all. If successful, returns true if the field exists in this content, otherwise false.

source

fn render_field_section<C, E>( &self, _hash: u64, _name: &str, _section: Section<'_, C>, _encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

Render a field by the hash or string of its name, as a section. If successful, returns true if the field exists in this content, otherwise false.

source

fn render_field_inverse<C, E>( &self, _hash: u64, _name: &str, _section: Section<'_, C>, _encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

Render a field, by the hash of or string its name, as an inverse section. If successful, returns true if the field exists in this content, otherwise false.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Content for bool

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for f32

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for f64

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for i8

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for i16

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for i32

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for i64

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for i128

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for isize

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for str

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for u8

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for u16

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for u32

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for u64

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for u128

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for ()

source§

fn is_truthy(&self) -> bool

source§

impl Content for usize

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for String

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for Cow<'_, str>

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl Content for Cow<'_, str>

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, _tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

impl<K, V> Content for BTreeMap<K, V>
where K: Borrow<str> + Ord, V: Content,

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

Render a section with self.

source§

fn is_truthy(&self) -> bool

source§

fn render_field_escaped<E>( &self, _: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>
where E: Encoder,

source§

fn render_field_unescaped<E>( &self, _: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>
where E: Encoder,

source§

fn render_field_section<C, E>( &self, _: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_inverse<C, E>( &self, _: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<K, V, S> Content for HashMap<K, V, S>
where K: Borrow<str> + Hash + Eq, V: Content, S: BuildHasher,

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

Render a section with self.

source§

fn is_truthy(&self) -> bool

source§

fn render_field_escaped<E>( &self, _: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>
where E: Encoder,

source§

fn render_field_unescaped<E>( &self, _: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>
where E: Encoder,

source§

fn render_field_section<C, E>( &self, _: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_inverse<C, E>( &self, _: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content + ToOwned + ?Sized> Content for Cow<'_, T>

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_inverse<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_escaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_unescaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_section<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_inverse<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content + Clone + ?Sized> Content for Cow<'_, [T]>

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_inverse<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_escaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_unescaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_section<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_inverse<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content + Clone + ?Sized> Content for Cow<'_, [T]>

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_inverse<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_escaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_unescaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_section<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_inverse<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content + ?Sized> Content for &T

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_inverse<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_escaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_unescaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_section<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_inverse<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content + ?Sized> Content for Box<T>

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_inverse<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_escaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_unescaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_section<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_inverse<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content + ?Sized> Content for Rc<T>

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_inverse<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_escaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_unescaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_section<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_inverse<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content + ?Sized> Content for Arc<T>

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_inverse<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_escaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_unescaped<E: Encoder>( &self, hash: u64, name: &str, encoder: &mut E ) -> Result<bool, E::Error>

source§

fn render_field_section<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

fn render_field_inverse<C, E>( &self, hash: u64, name: &str, section: Section<'_, C>, encoder: &mut E ) -> Result<bool, E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content> Content for Option<T>

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content> Content for [T]

source§

fn is_truthy(&self) -> bool

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content> Content for Vec<T>

source§

fn is_truthy(&self) -> bool

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content, U> Content for Result<T, U>

source§

fn is_truthy(&self) -> bool

source§

fn capacity_hint(&self, tpl: &Template<'_>) -> usize

source§

fn render_escaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_unescaped<E: Encoder>(&self, encoder: &mut E) -> Result<(), E::Error>

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content, const N: usize> Content for [T; N]

source§

fn is_truthy(&self) -> bool

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

source§

impl<T: Content, const N: usize> Content for ArrayVec<T, N>

source§

fn is_truthy(&self) -> bool

source§

fn render_section<C, E>( &self, section: Section<'_, C>, encoder: &mut E ) -> Result<(), E::Error>
where C: ContentSequence, E: Encoder,

Implementors§