Skip to main content

CharWrite

Trait CharWrite 

Source
pub trait CharWrite<C: Character, CS: CSName<C>>: Write {
    // Required methods
    fn push_char(&mut self, c: C);
    fn push_cs<I: CSHandler<C, CS>>(
        &mut self,
        cs: CS,
        int: &I,
        cc: &CategoryCodeScheme<C>,
        esc: Option<C>,
    );

    // Provided method
    fn push_tk<T: Token<Char = C, CS = CS>>(
        &mut self,
        t: &T,
        int: &<T::CS as CSName<T::Char>>::Handler,
        cc: &CategoryCodeScheme<T::Char>,
        escapechar: Option<T::Char>,
    ) { ... }
}
Expand description

An extension of Write that can handle Characters and CSNames (and hence Tokens) directly. Useful, since it allows for directly turning strings into TokenLists using write!, format! etc.

Required Methods§

Source

fn push_char(&mut self, c: C)

Pushes a Character to the underlying writer.

Source

fn push_cs<I: CSHandler<C, CS>>( &mut self, cs: CS, int: &I, cc: &CategoryCodeScheme<C>, esc: Option<C>, )

Pushes a CSName to the underlying writer.

Provided Methods§

Source

fn push_tk<T: Token<Char = C, CS = CS>>( &mut self, t: &T, int: &<T::CS as CSName<T::Char>>::Handler, cc: &CategoryCodeScheme<T::Char>, escapechar: Option<T::Char>, )

Pushes a Token to the underlying writer.

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.

Implementations on Foreign Types§

Source§

impl<'a, C: Character, CS: CSName<C>, A: CharWrite<C, CS>> CharWrite<C, CS> for &'a mut A

Source§

fn push_char(&mut self, c: C)

Source§

fn push_cs<I: CSHandler<C, CS>>( &mut self, cs: CS, int: &I, cc: &CategoryCodeScheme<C>, esc: Option<C>, )

Implementors§

Source§

impl<'a, T: Token, F: FnMut(T)> CharWrite<<T as Token>::Char, <T as Token>::CS> for Otherize<'a, T, F>

Source§

impl<'a, W: Write, C: Character, CS: CSName<C>> CharWrite<C, CS> for StringCharWrite<'a, W, C, CS>