pub trait Parser<Input> {
type Output;
type Error: ParseError<Input>;
// Required method
fn process<OM: OutputMode>(
&mut self,
input: Input,
) -> PResult<OM, Input, Self::Output, Self::Error>;
// Provided methods
fn parse(
&mut self,
input: Input,
) -> IResult<Input, Self::Output, Self::Error> { ... }
fn parse_complete(
&mut self,
input: Input,
) -> IResult<Input, Self::Output, Self::Error> { ... }
fn map<G, O2>(self, g: G) -> Map<Self, G>
where G: FnMut(Self::Output) -> O2,
Self: Sized { ... }
fn map_res<G, O2, E2>(self, g: G) -> MapRes<Self, G>
where G: FnMut(Self::Output) -> Result<O2, E2>,
Self::Error: FromExternalError<Input, E2>,
Self: Sized { ... }
fn map_opt<G, O2>(self, g: G) -> MapOpt<Self, G>
where G: FnMut(Self::Output) -> Option<O2>,
Self: Sized { ... }
fn flat_map<G, H>(self, g: G) -> FlatMap<Self, G>
where G: FnMut(Self::Output) -> H,
H: Parser<Input, Error = Self::Error>,
Self: Sized { ... }
fn and_then<G>(self, g: G) -> AndThen<Self, G>
where G: Parser<Self::Output, Error = Self::Error>,
Self: Sized { ... }
fn and<G, O2>(self, g: G) -> And<Self, G>
where G: Parser<Input, Output = O2, Error = Self::Error>,
Self: Sized { ... }
fn or<G>(self, g: G) -> Or<Self, G>
where G: Parser<Input, Output = Self::Output, Error = Self::Error>,
Self: Sized { ... }
fn into<O2: From<Self::Output>, E2: From<Self::Error>>(
self,
) -> Into<Self, O2, E2>
where Self: Sized { ... }
}
Expand description
All nom parsers implement this trait
Required Associated Types§
Sourcetype Error: ParseError<Input>
type Error: ParseError<Input>
Error type of this parser
Required Methods§
Provided Methods§
Sourcefn parse(&mut self, input: Input) -> IResult<Input, Self::Output, Self::Error>
fn parse(&mut self, input: Input) -> IResult<Input, Self::Output, Self::Error>
A parser takes in input type, and returns a Result
containing
either the remaining input and the output value, or an error
Sourcefn parse_complete(
&mut self,
input: Input,
) -> IResult<Input, Self::Output, Self::Error>
fn parse_complete( &mut self, input: Input, ) -> IResult<Input, Self::Output, Self::Error>
A parser takes in input type, and returns a Result
containing
either the remaining input and the output value, or an error
Sourcefn map_res<G, O2, E2>(self, g: G) -> MapRes<Self, G>
fn map_res<G, O2, E2>(self, g: G) -> MapRes<Self, G>
Applies a function returning a Result
over the result of a parser.
Sourcefn map_opt<G, O2>(self, g: G) -> MapOpt<Self, G>
fn map_opt<G, O2>(self, g: G) -> MapOpt<Self, G>
Applies a function returning an Option
over the result of a parser.
Sourcefn flat_map<G, H>(self, g: G) -> FlatMap<Self, G>
fn flat_map<G, H>(self, g: G) -> FlatMap<Self, G>
Creates a second parser from the output of the first one, then apply over the rest of the input
Sourcefn and_then<G>(self, g: G) -> AndThen<Self, G>
fn and_then<G>(self, g: G) -> AndThen<Self, G>
Applies a second parser over the output of the first one
Sourcefn and<G, O2>(self, g: G) -> And<Self, G>
fn and<G, O2>(self, g: G) -> And<Self, G>
Applies a second parser after the first one, return their results as a tuple
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<I, O1, E: ParseError<I>, P1> Parser<I> for (P1,)where
P1: Parser<I, Output = O1, Error = E>,
impl<I, O1, E: ParseError<I>, P1> Parser<I> for (P1,)where
P1: Parser<I, Output = O1, Error = E>,
Source§impl<I, O1, O2, E: ParseError<I>, P1, P2> Parser<I> for (P1, P2)
impl<I, O1, O2, E: ParseError<I>, P1, P2> Parser<I> for (P1, P2)
Source§impl<I, O1, O2, O3, E: ParseError<I>, P1, P2, P3> Parser<I> for (P1, P2, P3)
impl<I, O1, O2, O3, E: ParseError<I>, P1, P2, P3> Parser<I> for (P1, P2, P3)
Source§impl<I, O1, O2, O3, O4, E: ParseError<I>, P1, P2, P3, P4> Parser<I> for (P1, P2, P3, P4)
impl<I, O1, O2, O3, O4, E: ParseError<I>, P1, P2, P3, P4> Parser<I> for (P1, P2, P3, P4)
Source§impl<I, O1, O2, O3, O4, O5, E: ParseError<I>, P1, P2, P3, P4, P5> Parser<I> for (P1, P2, P3, P4, P5)
impl<I, O1, O2, O3, O4, O5, E: ParseError<I>, P1, P2, P3, P4, P5> Parser<I> for (P1, P2, P3, P4, P5)
Source§impl<I, O1, O2, O3, O4, O5, O6, E: ParseError<I>, P1, P2, P3, P4, P5, P6> Parser<I> for (P1, P2, P3, P4, P5, P6)
impl<I, O1, O2, O3, O4, O5, O6, E: ParseError<I>, P1, P2, P3, P4, P5, P6> Parser<I> for (P1, P2, P3, P4, P5, P6)
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7> Parser<I> for (P1, P2, P3, P4, P5, P6, P7)
impl<I, O1, O2, O3, O4, O5, O6, O7, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7> Parser<I> for (P1, P2, P3, P4, P5, P6, P7)
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, O17, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
P17: Parser<I, Output = O17, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, O17, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
P17: Parser<I, Output = O17, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, O17, O18, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
P17: Parser<I, Output = O17, Error = E>,
P18: Parser<I, Output = O18, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, O17, O18, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
P17: Parser<I, Output = O17, Error = E>,
P18: Parser<I, Output = O18, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, O17, O18, O19, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
P17: Parser<I, Output = O17, Error = E>,
P18: Parser<I, Output = O18, Error = E>,
P19: Parser<I, Output = O19, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, O17, O18, O19, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
P17: Parser<I, Output = O17, Error = E>,
P18: Parser<I, Output = O18, Error = E>,
P19: Parser<I, Output = O19, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, O17, O18, O19, O20, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
P17: Parser<I, Output = O17, Error = E>,
P18: Parser<I, Output = O18, Error = E>,
P19: Parser<I, Output = O19, Error = E>,
P20: Parser<I, Output = O20, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, O17, O18, O19, O20, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
P17: Parser<I, Output = O17, Error = E>,
P18: Parser<I, Output = O18, Error = E>,
P19: Parser<I, Output = O19, Error = E>,
P20: Parser<I, Output = O20, Error = E>,
Source§impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, O17, O18, O19, O20, O21, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
P17: Parser<I, Output = O17, Error = E>,
P18: Parser<I, Output = O18, Error = E>,
P19: Parser<I, Output = O19, Error = E>,
P20: Parser<I, Output = O20, Error = E>,
P21: Parser<I, Output = O21, Error = E>,
impl<I, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11, O12, O13, O14, O15, O16, O17, O18, O19, O20, O21, E: ParseError<I>, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21> Parser<I> for (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21)where
P1: Parser<I, Output = O1, Error = E>,
P2: Parser<I, Output = O2, Error = E>,
P3: Parser<I, Output = O3, Error = E>,
P4: Parser<I, Output = O4, Error = E>,
P5: Parser<I, Output = O5, Error = E>,
P6: Parser<I, Output = O6, Error = E>,
P7: Parser<I, Output = O7, Error = E>,
P8: Parser<I, Output = O8, Error = E>,
P9: Parser<I, Output = O9, Error = E>,
P10: Parser<I, Output = O10, Error = E>,
P11: Parser<I, Output = O11, Error = E>,
P12: Parser<I, Output = O12, Error = E>,
P13: Parser<I, Output = O13, Error = E>,
P14: Parser<I, Output = O14, Error = E>,
P15: Parser<I, Output = O15, Error = E>,
P16: Parser<I, Output = O16, Error = E>,
P17: Parser<I, Output = O17, Error = E>,
P18: Parser<I, Output = O18, Error = E>,
P19: Parser<I, Output = O19, Error = E>,
P20: Parser<I, Output = O20, Error = E>,
P21: Parser<I, Output = O21, Error = E>,
Implementors§
Source§impl<I, E: ParseError<I>, F, G> Parser<I> for SeparatedList0<F, G>
Available on crate feature alloc
only.
impl<I, E: ParseError<I>, F, G> Parser<I> for SeparatedList0<F, G>
alloc
only.Source§impl<I, E: ParseError<I>, F, G> Parser<I> for SeparatedList1<F, G>
Available on crate feature alloc
only.
impl<I, E: ParseError<I>, F, G> Parser<I> for SeparatedList1<F, G>
alloc
only.Source§impl<I, E: ParseError<I>, F: Parser<I, Error = E>, G: FnMut(<F as Parser<I>>::Output) -> H, H: Parser<I, Error = E>> Parser<I> for FlatMap<F, G>
impl<I, E: ParseError<I>, F: Parser<I, Error = E>, G: FnMut(<F as Parser<I>>::Output) -> H, H: Parser<I, Error = E>> Parser<I> for FlatMap<F, G>
Source§impl<I, E: ParseError<I>, F: Parser<I, Error = E>, G: Parser<I, Error = E>> Parser<I> for Preceded<F, G>
impl<I, E: ParseError<I>, F: Parser<I, Error = E>, G: Parser<I, Error = E>> Parser<I> for Preceded<F, G>
Source§impl<I, E: ParseError<I>, F: Parser<I, Error = E>, G: Parser<I, Error = E>> Parser<I> for Terminated<F, G>
impl<I, E: ParseError<I>, F: Parser<I, Error = E>, G: Parser<I, Error = E>> Parser<I> for Terminated<F, G>
Source§impl<I, E: ParseError<I>, F: Parser<I, Error = E>, G: Parser<I, Error = E>> Parser<I> for And<F, G>
impl<I, E: ParseError<I>, F: Parser<I, Error = E>, G: Parser<I, Error = E>> Parser<I> for And<F, G>
Source§impl<I, Error, F, G, ExtendItem, Output> Parser<I> for EscapedTransform<F, G, Error, ExtendItem, Output>where
I: Clone + Offset + Input + ExtendInto<Item = ExtendItem, Extender = Output>,
<F as Parser<I>>::Output: ExtendInto<Item = ExtendItem, Extender = Output>,
<G as Parser<I>>::Output: ExtendInto<Item = ExtendItem, Extender = Output>,
<I as Input>::Item: AsChar,
F: Parser<I, Error = Error>,
G: Parser<I, Error = Error>,
Error: ParseError<I>,
impl<I, Error, F, G, ExtendItem, Output> Parser<I> for EscapedTransform<F, G, Error, ExtendItem, Output>where
I: Clone + Offset + Input + ExtendInto<Item = ExtendItem, Extender = Output>,
<F as Parser<I>>::Output: ExtendInto<Item = ExtendItem, Extender = Output>,
<G as Parser<I>>::Output: ExtendInto<Item = ExtendItem, Extender = Output>,
<I as Input>::Item: AsChar,
F: Parser<I, Error = Error>,
G: Parser<I, Error = Error>,
Error: ParseError<I>,
Source§impl<I, Error: ParseError<I>> Parser<I> for AnyChar<Error>
impl<I, Error: ParseError<I>> Parser<I> for AnyChar<Error>
Source§impl<I, Error: ParseError<I>> Parser<I> for Char<Error>
impl<I, Error: ParseError<I>> Parser<I> for Char<Error>
Source§impl<I, Error: ParseError<I>> Parser<I> for MultiSpace0<Error>
impl<I, Error: ParseError<I>> Parser<I> for MultiSpace0<Error>
Source§impl<I, Error: ParseError<I>, F> Parser<I> for SplitPosition1<F, Error>
impl<I, Error: ParseError<I>, F> Parser<I> for SplitPosition1<F, Error>
Source§impl<I, Error: ParseError<I>, F> Parser<I> for SplitPosition<F, Error>
impl<I, Error: ParseError<I>, F> Parser<I> for SplitPosition<F, Error>
Source§impl<I, Error: ParseError<I>, F> Parser<I> for TakeWhileMN<F, Error>
impl<I, Error: ParseError<I>, F> Parser<I> for TakeWhileMN<F, Error>
Source§impl<I, Error: ParseError<I>, F, MakeError> Parser<I> for Satisfy<F, MakeError>
impl<I, Error: ParseError<I>, F, MakeError> Parser<I> for Satisfy<F, MakeError>
Source§impl<I, Error: ParseError<I>, T> Parser<I> for Tag<T, Error>
impl<I, Error: ParseError<I>, T> Parser<I> for Tag<T, Error>
Source§impl<I, Error: ParseError<I>, T> Parser<I> for TagNoCase<T, Error>
impl<I, Error: ParseError<I>, T> Parser<I> for TagNoCase<T, Error>
Source§impl<I, F> Parser<I> for AllConsuming<F>
impl<I, F> Parser<I> for AllConsuming<F>
Source§impl<I, F> Parser<I> for MakeComplete<F>
impl<I, F> Parser<I> for MakeComplete<F>
Source§impl<I, F> Parser<I> for Many0Count<F>
impl<I, F> Parser<I> for Many0Count<F>
Source§impl<I, F> Parser<I> for Many1Count<F>
impl<I, F> Parser<I> for Many1Count<F>
Source§impl<I, F, G, E> Parser<I> for LengthCount<F, G, E>
Available on crate feature alloc
only.
impl<I, F, G, E> Parser<I> for LengthCount<F, G, E>
alloc
only.