pub struct Sequence<T>(/* private fields */);
Expand description
Sequence concatenates parsers and only succeeds if all of them do. T is always a tuple in order for Sequence to implement the Parser trait. The result is a tuple of all the parser results.
Individual parsers need to have result types implementing Default.
Implementations§
Trait Implementations§
Source§impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>> Parser for Sequence<(P0, P1)>
impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>> Parser for Sequence<(P0, P1)>
type Result = (<P0 as Parser>::Result, <P1 as Parser>::Result)
Source§fn parse(
&mut self,
st: &mut ParseState<impl Iterator<Item = char>>,
) -> ParseResult<Self::Result>
fn parse( &mut self, st: &mut ParseState<impl Iterator<Item = char>>, ) -> ParseResult<Self::Result>
parse consumes input from
st
and returns a result or an error. Read moreSource§impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2)>
impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2)>
type Result = (<P0 as Parser>::Result, <P1 as Parser>::Result, <P2 as Parser>::Result)
Source§fn parse(
&mut self,
st: &mut ParseState<impl Iterator<Item = char>>,
) -> ParseResult<Self::Result>
fn parse( &mut self, st: &mut ParseState<impl Iterator<Item = char>>, ) -> ParseResult<Self::Result>
parse consumes input from
st
and returns a result or an error. Read moreSource§impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3)>
impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3)>
type Result = (<P0 as Parser>::Result, <P1 as Parser>::Result, <P2 as Parser>::Result, <P3 as Parser>::Result)
Source§fn parse(
&mut self,
st: &mut ParseState<impl Iterator<Item = char>>,
) -> ParseResult<Self::Result>
fn parse( &mut self, st: &mut ParseState<impl Iterator<Item = char>>, ) -> ParseResult<Self::Result>
parse consumes input from
st
and returns a result or an error. Read moreSource§impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4)>
impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4)>
type Result = (<P0 as Parser>::Result, <P1 as Parser>::Result, <P2 as Parser>::Result, <P3 as Parser>::Result, <P4 as Parser>::Result)
Source§fn parse(
&mut self,
st: &mut ParseState<impl Iterator<Item = char>>,
) -> ParseResult<Self::Result>
fn parse( &mut self, st: &mut ParseState<impl Iterator<Item = char>>, ) -> ParseResult<Self::Result>
parse consumes input from
st
and returns a result or an error. Read moreSource§impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>, P5: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4, P5)>
impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>, P5: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4, P5)>
type Result = (<P0 as Parser>::Result, <P1 as Parser>::Result, <P2 as Parser>::Result, <P3 as Parser>::Result, <P4 as Parser>::Result, <P5 as Parser>::Result)
Source§fn parse(
&mut self,
st: &mut ParseState<impl Iterator<Item = char>>,
) -> ParseResult<Self::Result>
fn parse( &mut self, st: &mut ParseState<impl Iterator<Item = char>>, ) -> ParseResult<Self::Result>
parse consumes input from
st
and returns a result or an error. Read moreSource§impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>, P5: Parser<Result = impl Default>, P6: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4, P5, P6)>
impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>, P5: Parser<Result = impl Default>, P6: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4, P5, P6)>
type Result = (<P0 as Parser>::Result, <P1 as Parser>::Result, <P2 as Parser>::Result, <P3 as Parser>::Result, <P4 as Parser>::Result, <P5 as Parser>::Result, <P6 as Parser>::Result)
Source§fn parse(
&mut self,
st: &mut ParseState<impl Iterator<Item = char>>,
) -> ParseResult<Self::Result>
fn parse( &mut self, st: &mut ParseState<impl Iterator<Item = char>>, ) -> ParseResult<Self::Result>
parse consumes input from
st
and returns a result or an error. Read moreSource§impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>, P5: Parser<Result = impl Default>, P6: Parser<Result = impl Default>, P7: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4, P5, P6, P7)>
impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>, P5: Parser<Result = impl Default>, P6: Parser<Result = impl Default>, P7: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4, P5, P6, P7)>
type Result = (<P0 as Parser>::Result, <P1 as Parser>::Result, <P2 as Parser>::Result, <P3 as Parser>::Result, <P4 as Parser>::Result, <P5 as Parser>::Result, <P6 as Parser>::Result, <P7 as Parser>::Result)
Source§fn parse(
&mut self,
st: &mut ParseState<impl Iterator<Item = char>>,
) -> ParseResult<Self::Result>
fn parse( &mut self, st: &mut ParseState<impl Iterator<Item = char>>, ) -> ParseResult<Self::Result>
parse consumes input from
st
and returns a result or an error. Read moreSource§impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>, P5: Parser<Result = impl Default>, P6: Parser<Result = impl Default>, P7: Parser<Result = impl Default>, P8: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4, P5, P6, P7, P8)>
impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>, P5: Parser<Result = impl Default>, P6: Parser<Result = impl Default>, P7: Parser<Result = impl Default>, P8: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4, P5, P6, P7, P8)>
type Result = (<P0 as Parser>::Result, <P1 as Parser>::Result, <P2 as Parser>::Result, <P3 as Parser>::Result, <P4 as Parser>::Result, <P5 as Parser>::Result, <P6 as Parser>::Result, <P7 as Parser>::Result, <P8 as Parser>::Result)
Source§fn parse(
&mut self,
st: &mut ParseState<impl Iterator<Item = char>>,
) -> ParseResult<Self::Result>
fn parse( &mut self, st: &mut ParseState<impl Iterator<Item = char>>, ) -> ParseResult<Self::Result>
parse consumes input from
st
and returns a result or an error. Read moreSource§impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>, P5: Parser<Result = impl Default>, P6: Parser<Result = impl Default>, P7: Parser<Result = impl Default>, P8: Parser<Result = impl Default>, P9: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9)>
impl<P0: Parser<Result = impl Default>, P1: Parser<Result = impl Default>, P2: Parser<Result = impl Default>, P3: Parser<Result = impl Default>, P4: Parser<Result = impl Default>, P5: Parser<Result = impl Default>, P6: Parser<Result = impl Default>, P7: Parser<Result = impl Default>, P8: Parser<Result = impl Default>, P9: Parser<Result = impl Default>> Parser for Sequence<(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9)>
type Result = (<P0 as Parser>::Result, <P1 as Parser>::Result, <P2 as Parser>::Result, <P3 as Parser>::Result, <P4 as Parser>::Result, <P5 as Parser>::Result, <P6 as Parser>::Result, <P7 as Parser>::Result, <P8 as Parser>::Result, <P9 as Parser>::Result)
Source§fn parse(
&mut self,
st: &mut ParseState<impl Iterator<Item = char>>,
) -> ParseResult<Self::Result>
fn parse( &mut self, st: &mut ParseState<impl Iterator<Item = char>>, ) -> ParseResult<Self::Result>
parse consumes input from
st
and returns a result or an error. Read moreAuto Trait Implementations§
impl<T> Freeze for Sequence<T>where
T: Freeze,
impl<T> RefUnwindSafe for Sequence<T>where
T: RefUnwindSafe,
impl<T> Send for Sequence<T>where
T: Send,
impl<T> Sync for Sequence<T>where
T: Sync,
impl<T> Unpin for Sequence<T>where
T: Unpin,
impl<T> UnwindSafe for Sequence<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more