pub struct Then<P, F>(/* private fields */);Trait Implementations§
Source§impl<Input, P, N, F> Parser<Input> for Then<P, F>
 
impl<Input, P, N, F> Parser<Input> for Then<P, F>
Source§type Output = <N as Parser<Input>>::Output
 
type Output = <N as Parser<Input>>::Output
The type which is returned if the parser is successful.
Source§type PartialState = (<P as Parser<Input>>::PartialState, Option<(bool, N)>, <N as Parser<Input>>::PartialState)
 
type PartialState = (<P as Parser<Input>>::PartialState, Option<(bool, N)>, <N as Parser<Input>>::PartialState)
Determines the state necessary to resume parsing after more input is supplied. Read more
Source§fn add_error(&mut self, errors: &mut Tracked<<Input as StreamOnce>::Error>)
 
fn add_error(&mut self, errors: &mut Tracked<<Input as StreamOnce>::Error>)
Adds the first error that would normally be returned by this parser if it failed with an
PeekErr result. Read moreSource§fn parse(
    &mut self,
    input: Input,
) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>
 
fn parse( &mut self, input: Input, ) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>
Entry point of the parser. Takes some input and tries to parse it. Read more
Source§fn parse_with_state(
    &mut self,
    input: &mut Input,
    state: &mut Self::PartialState,
) -> Result<Self::Output, <Input as StreamOnce>::Error>
 
fn parse_with_state( &mut self, input: &mut Input, state: &mut Self::PartialState, ) -> Result<Self::Output, <Input as StreamOnce>::Error>
Entry point of the parser when using partial parsing.
Takes some input and tries to parse it. Read more
Source§fn parse_stream(
    &mut self,
    input: &mut Input,
) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>
 
fn parse_stream( &mut self, input: &mut Input, ) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>
Source§fn parse_lazy(
    &mut self,
    input: &mut Input,
) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>
 
fn parse_lazy( &mut self, input: &mut Input, ) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>
Source§fn parse_stream_partial(
    &mut self,
    input: &mut Input,
    state: &mut Self::PartialState,
) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>
 
fn parse_stream_partial( &mut self, input: &mut Input, state: &mut Self::PartialState, ) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>
Like 
parse_stream but supports partial parsing.Source§fn by_ref(&mut self) -> &mut Selfwhere
    Self: Sized,
 
fn by_ref(&mut self) -> &mut Selfwhere
    Self: Sized,
Borrows a parser instead of consuming it. Read more
Source§fn with<P2>(self, p: P2) -> With<Self, P2>
 
fn with<P2>(self, p: P2) -> With<Self, P2>
Discards the value of the 
self parser and returns the value of p.
Fails if any of the parsers fails. Read moreSource§fn skip<P2>(self, p: P2) -> Skip<Self, P2>
 
fn skip<P2>(self, p: P2) -> Skip<Self, P2>
Discards the value of the 
p parser and returns the value of self.
Fails if any of the parsers fails. Read moreSource§fn and<P2>(self, p: P2) -> (Self, P2)
 
fn and<P2>(self, p: P2) -> (Self, P2)
Parses with 
self followed by p.
Succeeds if both parsers succeed, otherwise fails.
Returns a tuple with both values on success. Read moreSource§fn or<P2>(self, p: P2) -> Or<Self, P2>
 
fn or<P2>(self, p: P2) -> Or<Self, P2>
Returns a parser which attempts to parse using 
self. If self fails without committing
it tries to consume the same input using p. Read moreSource§fn then<N, F>(self, f: F) -> Then<Self, F>
 
fn then<N, F>(self, f: F) -> Then<Self, F>
Parses using 
self and then passes the value to f which returns a parser used to parse
the rest of the input. Read moreSource§fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>
 
fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>
Source§fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>
 
fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>
Parses using 
self and then passes a reference to the value to f which returns a parser
used to parse the rest of the input. The value is then combined with the output of f. Read morefn map_input<F, B>(self, f: F) -> MapInput<Self, F>
Source§fn expected<S>(self, msg: S) -> Expected<Self, S>
 
fn expected<S>(self, msg: S) -> Expected<Self, S>
Parses with 
self and if it fails without consuming any input any expected errors are
replaced by msg. msg is then used in error messages as “Expected msg”. Read moreSource§fn silent(self) -> Silent<Self>where
    Self: Sized,
 
fn silent(self) -> Silent<Self>where
    Self: Sized,
Parses with 
self, if it fails without consuming any input any expected errors that would
otherwise be emitted by self are suppressed. Read moreSource§fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>
 
fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>
Parses with 
self and applies f on the result if self parses successfully.
f may optionally fail with an error which is automatically converted to a ParseError. Read moreSource§fn iter(
    self,
    input: &mut Input,
) -> Iter<'_, Input, Self, Self::PartialState, FirstMode> ⓘ
 
fn iter( self, input: &mut Input, ) -> Iter<'_, Input, Self, Self::PartialState, FirstMode> ⓘ
Source§fn partial_iter<'a, 's, M>(
    self,
    mode: M,
    input: &'a mut Input,
    partial_state: &'s mut Self::PartialState,
) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M> ⓘ
 
fn partial_iter<'a, 's, M>( self, mode: M, input: &'a mut Input, partial_state: &'s mut Self::PartialState, ) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M> ⓘ
Source§fn boxed<'a>(
    self,
) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where
    Self: Sized + 'a,
 
fn boxed<'a>(
    self,
) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where
    Self: Sized + 'a,
Turns the parser into a trait object by putting it in a 
Box. Can be used to easily
return parsers from functions without naming the type. Read moreimpl<P: Copy, F: Copy> Copy for Then<P, F>
Auto Trait Implementations§
impl<P, F> Freeze for Then<P, F>
impl<P, F> RefUnwindSafe for Then<P, F>where
    P: RefUnwindSafe,
    F: RefUnwindSafe,
impl<P, F> Send for Then<P, F>
impl<P, F> Sync for Then<P, F>
impl<P, F> Unpin for Then<P, F>
impl<P, F> UnwindSafe for Then<P, F>where
    P: UnwindSafe,
    F: 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
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<Input, P> EasyParser<Input> for Pwhere
    P: Parser<Stream<Input>> + ?Sized,
    Input: Stream,
    <Input as StreamOnce>::Token: PartialEq,
    <Input as StreamOnce>::Range: PartialEq,
 
impl<Input, P> EasyParser<Input> for Pwhere
    P: Parser<Stream<Input>> + ?Sized,
    Input: Stream,
    <Input as StreamOnce>::Token: PartialEq,
    <Input as StreamOnce>::Range: PartialEq,
Source§fn easy_parse(
    &mut self,
    input: Input,
) -> Result<(<Self as Parser<Stream<Input>>>::Output, Input), ParseError<Input>>
 
fn easy_parse( &mut self, input: Input, ) -> Result<(<Self as Parser<Stream<Input>>>::Output, Input), ParseError<Input>>
Entry point of the parser. Takes some input and tries to parse it, returning an easy to use
and format error if parsing did not succeed. Read more