Struct nom::ChainConsumer [] [src]

pub struct ChainConsumer<'a, 'b, C1: 'a, C2: 'b, R, S, T, E, M> {
    // some fields omitted
}

ChainConsumer takes a consumer C1 R -> S, and a consumer C2 S -> T, and makes a consumer R -> T by applying C2 on C1's result

Methods

impl<'a, 'b, R, S: Clone, T: Clone, E: Clone, M: Clone, C1: Consumer<R, S, E, M>, C2: Consumer<S, T, E, M>> ChainConsumer<'a, 'b, C1, C2, R, S, T, E, M>

fn new(c1: &'a mut C1, c2: &'b mut C2) -> ChainConsumer<'a, 'b, C1, C2, R, S, T, E, M>

Trait Implementations

impl<'a, 'b, R, S: Clone, T: Clone, E: Clone, M: Clone, C1: Consumer<R, S, E, M>, C2: Consumer<S, T, E, M>> Consumer<R, T, E, M> for ChainConsumer<'a, 'b, C1, C2, R, S, T, E, M>

fn handle(&mut self, input: Input<R>) -> &ConsumerState<T, E, M>

fn state(&self) -> &ConsumerState<T, E, M>