pub struct Escaped<P, Q>where
P: Parser,{ /* private fields */ }
Trait Implementations§
source§impl<P, Q> Parser for Escaped<P, Q>where
P: Parser,
<P::Input as StreamOnce>::Item: PartialEq,
Q: Parser<Input = P::Input>,
impl<P, Q> Parser for Escaped<P, Q>where P: Parser, <P::Input as StreamOnce>::Item: PartialEq, Q: Parser<Input = P::Input>,
§type Input = <P as Parser>::Input
type Input = <P as Parser>::Input
The type which is taken as input for the parser. The type must implement the
Stream
trait
which allows the parser to read items from the type.§type PartialState = EscapedState<<P as Parser>::PartialState, <Q as Parser>::PartialState>
type PartialState = EscapedState<<P as Parser>::PartialState, <Q as Parser>::PartialState>
Determines the state necessary to resume parsing after more input is supplied. Read more
source§fn parse_lazy(
&mut self,
input: &mut Self::Input
) -> ConsumedResult<Self::Output, Self::Input>
fn parse_lazy( &mut self, input: &mut Self::Input ) -> ConsumedResult<Self::Output, Self::Input>
source§fn add_error(
&mut self,
errors: &mut Tracked<<Self::Input as StreamOnce>::Error>
)
fn add_error( &mut self, errors: &mut Tracked<<Self::Input as StreamOnce>::Error> )
Adds the first error that would normally be returned by this parser if it failed with an
EmptyErr
result. Read moresource§fn easy_parse<I>(
&mut self,
input: I
) -> Result<(Self::Output, I), ParseError<I>>where
I: Stream,
Stream<I>: StreamOnce<Item = I::Item, Range = I::Range, Error = ParseError<Stream<I>>, Position = I::Position>,
I::Position: Default,
Self: Sized + Parser<Input = Stream<I>>,
fn easy_parse<I>( &mut self, input: I ) -> Result<(Self::Output, I), ParseError<I>>where I: Stream, Stream<I>: StreamOnce<Item = I::Item, Range = I::Range, Error = ParseError<Stream<I>>, Position = I::Position>, I::Position: Default, Self: Sized + Parser<Input = Stream<I>>,
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
source§fn parse(
&mut self,
input: Self::Input
) -> Result<(Self::Output, Self::Input), <Self::Input as StreamOnce>::Error>
fn parse( &mut self, input: Self::Input ) -> Result<(Self::Output, Self::Input), <Self::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 Self::Input,
state: &mut Self::PartialState
) -> Result<Self::Output, <Self::Input as StreamOnce>::Error>
fn parse_with_state( &mut self, input: &mut Self::Input, state: &mut Self::PartialState ) -> Result<Self::Output, <Self::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 Self::Input
) -> ParseResult<Self::Output, Self::Input>
fn parse_stream( &mut self, input: &mut Self::Input ) -> ParseResult<Self::Output, Self::Input>
source§fn parse_stream_consumed(
&mut self,
input: &mut Self::Input
) -> ConsumedResult<Self::Output, Self::Input>
fn parse_stream_consumed( &mut self, input: &mut Self::Input ) -> ConsumedResult<Self::Output, Self::Input>
fn parse_stream_consumed_partial( &mut self, input: &mut Self::Input, state: &mut Self::PartialState ) -> ConsumedResult<Self::Output, Self::Input>
source§fn parse_first(
&mut self,
input: &mut Self::Input,
state: &mut Self::PartialState
) -> ConsumedResult<Self::Output, Self::Input>
fn parse_first( &mut self, input: &mut Self::Input, state: &mut Self::PartialState ) -> ConsumedResult<Self::Output, Self::Input>
Parses using the stream
input
and allows itself to be resumed at a later point using
parse_partial
by storing the necessary intermediate state in state
. Read moresource§fn parse_partial(
&mut self,
input: &mut Self::Input,
state: &mut Self::PartialState
) -> ConsumedResult<Self::Output, Self::Input>
fn parse_partial( &mut self, input: &mut Self::Input, state: &mut Self::PartialState ) -> ConsumedResult<Self::Output, Self::Input>
Parses using the stream
input
and allows itself to be resumed at a later point using
parse_partial
by storing the necessary intermediate state in state
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>where
Self: Sized,
P2: Parser<Input = Self::Input>,
fn with<P2>(self, p: P2) -> With<Self, P2>where Self: Sized, P2: Parser<Input = Self::Input>,
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>where
Self: Sized,
P2: Parser<Input = Self::Input>,
fn skip<P2>(self, p: P2) -> Skip<Self, P2>where Self: Sized, P2: Parser<Input = Self::Input>,
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)where
Self: Sized,
P2: Parser<Input = Self::Input>,
fn and<P2>(self, p: P2) -> (Self, P2)where Self: Sized, P2: Parser<Input = Self::Input>,
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>where
Self: Sized,
P2: Parser<Input = Self::Input, Output = Self::Output>,
fn or<P2>(self, p: P2) -> Or<Self, P2>where Self: Sized, P2: Parser<Input = Self::Input, Output = Self::Output>,
Returns a parser which attempts to parse using
self
. If self
fails without consuming
any input it tries to consume the same input using p
. Read moresource§fn then<N, F>(self, f: F) -> Then<Self, F>where
Self: Sized,
F: FnMut(Self::Output) -> N,
N: Parser<Input = Self::Input>,
fn then<N, F>(self, f: F) -> Then<Self, F>where Self: Sized, F: FnMut(Self::Output) -> N, N: Parser<Input = Self::Input>,
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>where
Self: Sized,
F: FnMut(&mut Self::Output) -> N,
N: Parser<Input = Self::Input>,
fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where Self: Sized, F: FnMut(&mut Self::Output) -> N, N: Parser<Input = Self::Input>,
Variant of
then
which parses using self
and then passes the value to f
as a &mut
reference. Read moresource§fn map<F, B>(self, f: F) -> Map<Self, F>where
Self: Sized,
F: FnMut(Self::Output) -> B,
fn map<F, B>(self, f: F) -> Map<Self, F>where Self: Sized, F: FnMut(Self::Output) -> B,
Uses
f
to map over the parsed value. Read moresource§fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where
Self: Sized,
F: FnMut(Self::Output) -> Result<B, <Self::Input as StreamOnce>::Error>,
fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where Self: Sized, F: FnMut(Self::Output) -> Result<B, <Self::Input as StreamOnce>::Error>,
source§fn message<S>(self, msg: S) -> Message<Self>where
Self: Sized,
S: Into<Info<<Self::Input as StreamOnce>::Item, <Self::Input as StreamOnce>::Range>>,
fn message<S>(self, msg: S) -> Message<Self>where Self: Sized, S: Into<Info<<Self::Input as StreamOnce>::Item, <Self::Input as StreamOnce>::Range>>,
source§fn expected<S>(self, msg: S) -> Expected<Self>where
Self: Sized,
S: Into<Info<<Self::Input as StreamOnce>::Item, <Self::Input as StreamOnce>::Range>>,
fn expected<S>(self, msg: S) -> Expected<Self>where Self: Sized, S: Into<Info<<Self::Input as StreamOnce>::Item, <Self::Input as StreamOnce>::Range>>,
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, I>(self, f: F) -> AndThen<Self, F>where
Self: Parser<Input = I> + Sized,
F: FnMut(Self::Output) -> Result<O, E>,
I: Stream,
E: Into<<I::Error as ParseError<I::Item, I::Range, I::Position>>::StreamError>,
fn and_then<F, O, E, I>(self, f: F) -> AndThen<Self, F>where Self: Parser<Input = I> + Sized, F: FnMut(Self::Output) -> Result<O, E>, I: Stream, E: Into<<I::Error as ParseError<I::Item, I::Range, I::Position>>::StreamError>,
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 <Self as Parser>::Input
) -> Iter<'_, Self, Self::PartialState, FirstMode> ⓘwhere
Self: Parser + Sized,
fn iter( self, input: &mut <Self as Parser>::Input ) -> Iter<'_, Self, Self::PartialState, FirstMode> ⓘwhere Self: Parser + Sized,
source§fn partial_iter<'a, 's, M>(
self,
mode: M,
input: &'a mut <Self as Parser>::Input,
partial_state: &'s mut Self::PartialState
) -> Iter<'a, Self, &'s mut Self::PartialState, M> ⓘwhere
Self: Parser + Sized,
M: ParseMode,
fn partial_iter<'a, 's, M>( self, mode: M, input: &'a mut <Self as Parser>::Input, partial_state: &'s mut Self::PartialState ) -> Iter<'a, Self, &'s mut Self::PartialState, M> ⓘwhere Self: Parser + Sized, M: ParseMode,
source§fn boxed<'a>(
self
) -> Box<dyn Parser<Input = Self::Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where
Self: Sized + 'a,
fn boxed<'a>( self ) -> Box<dyn Parser<Input = Self::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 moreAuto Trait Implementations§
impl<P, Q> RefUnwindSafe for Escaped<P, Q>where P: RefUnwindSafe, Q: RefUnwindSafe, <<P as Parser>::Input as StreamOnce>::Item: RefUnwindSafe,
impl<P, Q> Send for Escaped<P, Q>where P: Send, Q: Send, <<P as Parser>::Input as StreamOnce>::Item: Send,
impl<P, Q> Sync for Escaped<P, Q>where P: Sync, Q: Sync, <<P as Parser>::Input as StreamOnce>::Item: Sync,
impl<P, Q> Unpin for Escaped<P, Q>where P: Unpin, Q: Unpin, <<P as Parser>::Input as StreamOnce>::Item: Unpin,
impl<P, Q> UnwindSafe for Escaped<P, Q>where P: UnwindSafe, Q: UnwindSafe, <<P as Parser>::Input as StreamOnce>::Item: 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