Tuple

Trait Tuple 

Source
pub trait Tuple<'a, C, R, Err> {
    // Required methods
    fn parse(&mut self, reader: &mut Reader<'a, Err, C>) -> ParserResult<R, Err>;
    fn parse_separated<RSep>(
        &mut self,
        reader: &mut Reader<'a, Err, C>,
        separator: impl FnMut(&mut Reader<'a, Err, C>) -> ParserResult<RSep, Err>,
    ) -> ParserResult<R, Err>;
}
Expand description

Helper trait for the tuple() combinator.

Required Methods§

Source

fn parse(&mut self, reader: &mut Reader<'a, Err, C>) -> ParserResult<R, Err>

Parses the input and returns a tuple of results of each parser.

Source

fn parse_separated<RSep>( &mut self, reader: &mut Reader<'a, Err, C>, separator: impl FnMut(&mut Reader<'a, Err, C>) -> ParserResult<RSep, Err>, ) -> ParserResult<R, Err>

Parses the input and returns a tuple of results of each parser. Between each parser separator is executed and its result discarded.

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, T1, R1, Err> Tuple<'a, C, (R1,), Err> for (T1,)
where T1: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R1, Err>,

Source§

fn parse(&mut self, reader: &mut Reader<'a, Err, C>) -> ParserResult<(R1,), Err>

Source§

fn parse_separated<RSep>( &mut self, reader: &mut Reader<'a, Err, C>, _: impl FnMut(&mut Reader<'a, Err, C>) -> ParserResult<RSep, Err>, ) -> ParserResult<(R1,), Err>

Source§

impl<'a, C, T1, T2, R1, R2, Err> Tuple<'a, C, (R1, R2), Err> for (T1, T2)
where T1: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R1, Err>, T2: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R2, Err>,

Source§

fn parse( &mut self, reader: &mut Reader<'a, Err, C>, ) -> ParserResult<(R1, R2), Err>

Source§

fn parse_separated<RSep>( &mut self, reader: &mut Reader<'a, Err, C>, separator: impl FnMut(&mut Reader<'a, Err, C>) -> ParserResult<RSep, Err>, ) -> ParserResult<(R1, R2), Err>

Source§

impl<'a, C, T1, T2, T3, R1, R2, R3, Err> Tuple<'a, C, (R1, R2, R3), Err> for (T1, T2, T3)
where T1: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R1, Err>, T2: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R2, Err>, T3: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R3, Err>,

Source§

fn parse( &mut self, reader: &mut Reader<'a, Err, C>, ) -> ParserResult<(R1, R2, R3), Err>

Source§

fn parse_separated<RSep>( &mut self, reader: &mut Reader<'a, Err, C>, separator: impl FnMut(&mut Reader<'a, Err, C>) -> ParserResult<RSep, Err>, ) -> ParserResult<(R1, R2, R3), Err>

Source§

impl<'a, C, T1, T2, T3, T4, R1, R2, R3, R4, Err> Tuple<'a, C, (R1, R2, R3, R4), Err> for (T1, T2, T3, T4)
where T1: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R1, Err>, T2: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R2, Err>, T3: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R3, Err>, T4: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R4, Err>,

Source§

fn parse( &mut self, reader: &mut Reader<'a, Err, C>, ) -> ParserResult<(R1, R2, R3, R4), Err>

Source§

fn parse_separated<RSep>( &mut self, reader: &mut Reader<'a, Err, C>, separator: impl FnMut(&mut Reader<'a, Err, C>) -> ParserResult<RSep, Err>, ) -> ParserResult<(R1, R2, R3, R4), Err>

Source§

impl<'a, C, T1, T2, T3, T4, T5, R1, R2, R3, R4, R5, Err> Tuple<'a, C, (R1, R2, R3, R4, R5), Err> for (T1, T2, T3, T4, T5)
where T1: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R1, Err>, T2: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R2, Err>, T3: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R3, Err>, T4: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R4, Err>, T5: FnMut(&mut Reader<'a, Err, C>) -> ParserResult<R5, Err>,

Source§

fn parse( &mut self, reader: &mut Reader<'a, Err, C>, ) -> ParserResult<(R1, R2, R3, R4, R5), Err>

Source§

fn parse_separated<RSep>( &mut self, reader: &mut Reader<'a, Err, C>, separator: impl FnMut(&mut Reader<'a, Err, C>) -> ParserResult<RSep, Err>, ) -> ParserResult<(R1, R2, R3, R4, R5), Err>

Implementors§