Skip to main content

Alt

Trait Alt 

Source
pub trait Alt<I, O, E> {
    // Required method
    fn choice(&mut self, input: &mut I) -> Result<O, E>;
}
Expand description

Helper trait for the alt() combinator.

This trait is implemented for tuples of up to 21 elements

Required Methods§

Source

fn choice(&mut self, input: &mut I) -> Result<O, E>

Tests each parser in the tuple and returns the result of the first one that succeeds

Implementations on Foreign Types§

Source§

impl<I: Stream, O, E: ParserError<I>, A: Parser<I, O, E>> Alt<I, O, E> for (A,)

Source§

fn choice(&mut self, input: &mut I) -> Result<O, E>

Source§

impl<I: Stream, O, E: ParserError<I>, P: Parser<I, O, E>> Alt<I, O, E> for &mut [P]

Source§

fn choice(&mut self, input: &mut I) -> Result<O, E>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>, Alt6: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5, Alt6)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>, Alt6: Parser<I, Output, Error>, Alt7: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5, Alt6, Alt7)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>, Alt6: Parser<I, Output, Error>, Alt7: Parser<I, Output, Error>, Alt8: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5, Alt6, Alt7, Alt8)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>, Alt6: Parser<I, Output, Error>, Alt7: Parser<I, Output, Error>, Alt8: Parser<I, Output, Error>, Alt9: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5, Alt6, Alt7, Alt8, Alt9)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>, Alt6: Parser<I, Output, Error>, Alt7: Parser<I, Output, Error>, Alt8: Parser<I, Output, Error>, Alt9: Parser<I, Output, Error>, Alt10: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5, Alt6, Alt7, Alt8, Alt9, Alt10)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<const N: usize, I: Stream, O, E: ParserError<I>, P: Parser<I, O, E>> Alt<I, O, E> for [P; N]

Source§

fn choice(&mut self, input: &mut I) -> Result<O, E>

Implementors§