[][src]Struct genco::Tokens

pub struct Tokens<'el, C: 'el> { /* fields omitted */ }

A set of tokens.

Implementations

impl<'el, C: 'el> Tokens<'el, C> where
    C: PartialEq + Eq
[src]

Generic methods.

pub fn new() -> Tokens<'el, C>[src]

Create a new set of tokens.

pub fn nested<T>(&mut self, tokens: T) where
    T: IntoTokens<'el, C>, 
[src]

Push a nested definition.

pub fn nested_into<B>(&mut self, builder: B) where
    B: FnOnce(&mut Tokens<'el, C>), 
[src]

Push a nested definition.

pub fn try_nested_into<E, B>(&mut self, builder: B) -> Result<(), E> where
    B: FnOnce(&mut Tokens<'el, C>) -> Result<(), E>, 
[src]

Push a nested definition.

This is a fallible version that expected the builder to return a result.

pub fn nested_ref(&mut self, tokens: &'el Tokens<'el, C>)[src]

Push a nested reference to a definition.

pub fn push<T>(&mut self, tokens: T) where
    T: IntoTokens<'el, C>, 
[src]

Push a definition, guaranteed to be preceded with one newline.

pub fn push_into<B>(&mut self, builder: B) where
    B: FnOnce(&mut Tokens<'el, C>), 
[src]

Push a new created definition, guaranteed to be preceded with one newline.

pub fn try_push_into<E, B>(&mut self, builder: B) -> Result<(), E> where
    B: FnOnce(&mut Tokens<'el, C>) -> Result<(), E>, 
[src]

Push a new created definition, guaranteed to be preceded with one newline.

This is a fallible version that expected the builder to return a result.

pub fn push_unless_empty<T>(&mut self, tokens: T) where
    T: IntoTokens<'el, C>, 
[src]

Push the given set of tokens, unless it is empty.

This is useful when you wish to preserve the structure of nested and joined tokens.

pub fn push_ref(&mut self, tokens: &'el Tokens<'el, C>)[src]

Push a reference to a definition.

pub fn insert<E>(&mut self, pos: usize, element: E) where
    E: Into<Element<'el, C>>, 
[src]

Insert the given element.

pub fn append<E>(&mut self, element: E) where
    E: Into<Element<'el, C>>, 
[src]

Append the given element.

pub fn append_ref(&mut self, element: &'el Element<'el, C>)[src]

Append a reference to a definition.

pub fn append_unless_empty<T>(&mut self, tokens: T) where
    T: IntoTokens<'el, C>, 
[src]

Append the given set of tokens, unless it is empty.

This is useful when you wish to preserve the structure of nested and joined tokens.

pub fn extend<I>(&mut self, it: I) where
    I: IntoIterator<Item = Element<'el, C>>, 
[src]

Extend with another set of tokens.

pub fn walk_custom(&self) -> WalkCustom<C>[src]

Walk over all elements.

pub fn register(&mut self, custom: C)[src]

Add an registered custom element that is not rendered.

pub fn is_empty(&self) -> bool[src]

Check if tokens contain no elements.

impl<'el, C: Custom> Tokens<'el, C>[src]

pub fn format(
    &self,
    out: &mut Formatter,
    config: &mut C::Config,
    level: usize
) -> Result
[src]

Format the tokens.

pub fn to_file_with(self, config: C::Config) -> Result<String, Error>[src]

Format token as file with the given configuration.

pub fn to_string_with(self, config: C::Config) -> Result<String, Error>[src]

Format the tokens with the given configuration.

impl<'el, E: Config + Default, C: Custom<Config = E>> Tokens<'el, C>[src]

pub fn to_file(self) -> Result<String, Error>[src]

Format token as file.

pub fn to_string(self) -> Result<String, Error>[src]

Format the tokens.

impl<'el, C> Tokens<'el, C> where
    C: Clone + PartialEq + Eq
[src]

Methods only available for clonable elements.

pub fn join<E>(self, element: E) -> Tokens<'el, C> where
    E: Into<Element<'el, C>>, 
[src]

Join the set of tokens on the given element.

pub fn join_spacing(self) -> Tokens<'el, C>[src]

Join with spacing.

pub fn join_line_spacing(self) -> Tokens<'el, C>[src]

Join with line spacing.

Trait Implementations

impl<'el, C: Clone + 'el> Clone for Tokens<'el, C>[src]

impl<'el, C: Debug + 'el> Debug for Tokens<'el, C>[src]

impl<'el, C: Default + 'el> Default for Tokens<'el, C>[src]

impl<'el, C: Eq + 'el> Eq for Tokens<'el, C>[src]

impl<'el> From<&'el Csharp<'el>> for Tokens<'el, Csharp<'el>>[src]

impl<'el> From<&'el Dart<'el>> for Tokens<'el, Dart<'el>>[src]

impl<'el> From<&'el Java<'el>> for Tokens<'el, Java<'el>>[src]

impl<'el> From<&'el JavaScript<'el>> for Tokens<'el, JavaScript<'el>>[src]

impl<'el> From<&'el Python<'el>> for Tokens<'el, Python<'el>>[src]

impl<'el> From<&'el Rust<'el>> for Tokens<'el, Rust<'el>>[src]

impl<'el, C> From<&'el Tokens<'el, C>> for Element<'el, C>[src]

impl<'el, C> From<&'el str> for Tokens<'el, C>[src]

impl<'el> From<(Cons<'el>, Constructor<'el>)> for Tokens<'el, Csharp<'el>>[src]

impl<'el> From<(Cons<'el>, Constructor<'el>)> for Tokens<'el, Java<'el>>[src]

impl<'el> From<Argument<'el>> for Tokens<'el, Csharp<'el>>[src]

impl<'el> From<Argument<'el>> for Tokens<'el, Java<'el>>[src]

impl<'el> From<Class<'el>> for Tokens<'el, Csharp<'el>>[src]

impl<'el> From<Class<'el>> for Tokens<'el, Java<'el>>[src]

impl<'el> From<Csharp<'el>> for Tokens<'el, Csharp<'el>>[src]

impl<'el> From<Dart<'el>> for Tokens<'el, Dart<'el>>[src]

impl<'el, C> From<Element<'el, C>> for Tokens<'el, C>[src]

impl<'el> From<Enum<'el>> for Tokens<'el, Csharp<'el>>[src]

impl<'el> From<Enum<'el>> for Tokens<'el, Java<'el>>[src]

impl<'el> From<Field<'el>> for Tokens<'el, Csharp<'el>>[src]

impl<'el> From<Field<'el>> for Tokens<'el, Java<'el>>[src]

impl<'el> From<Interface<'el>> for Tokens<'el, Csharp<'el>>[src]

impl<'el> From<Interface<'el>> for Tokens<'el, Java<'el>>[src]

impl<'el> From<Java<'el>> for Tokens<'el, Java<'el>>[src]

impl<'el> From<JavaScript<'el>> for Tokens<'el, JavaScript<'el>>[src]

impl<'el> From<Method<'el>> for Tokens<'el, Csharp<'el>>[src]

impl<'el> From<Method<'el>> for Tokens<'el, Java<'el>>[src]

impl<'el> From<Python<'el>> for Tokens<'el, Python<'el>>[src]

impl<'el> From<Rust<'el>> for Tokens<'el, Rust<'el>>[src]

impl<'el, C> From<String> for Tokens<'el, C>[src]

impl<'el, C> From<Tokens<'el, C>> for Element<'el, C>[src]

impl<'el, C> From<Vec<Tokens<'el, C>>> for Tokens<'el, C>[src]

impl<'el, C> FromIterator<&'el Element<'el, C>> for Tokens<'el, C>[src]

impl<'el, C> FromIterator<Element<'el, C>> for Tokens<'el, C>[src]

impl<'el, C> IntoIterator for Tokens<'el, C>[src]

type Item = Element<'el, C>

The type of the elements being iterated over.

type IntoIter = IntoIter<Element<'el, C>>

Which kind of iterator are we turning this into?

impl<'el, C> IntoTokens<'el, C> for Tokens<'el, C>[src]

impl<'el, C: PartialEq + 'el> PartialEq<Tokens<'el, C>> for Tokens<'el, C>[src]

impl<'el, C: 'el> StructuralEq for Tokens<'el, C>[src]

impl<'el, C: 'el> StructuralPartialEq for Tokens<'el, C>[src]

Auto Trait Implementations

impl<'el, C> !RefUnwindSafe for Tokens<'el, C>

impl<'el, C> !Send for Tokens<'el, C>

impl<'el, C> !Sync for Tokens<'el, C>

impl<'el, C> Unpin for Tokens<'el, C> where
    C: Unpin

impl<'el, C> !UnwindSafe for Tokens<'el, C>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.