Struct combine::parser::range::RecognizeWithValue
source · pub struct RecognizeWithValue<P>(_);
Trait Implementations§
source§impl<P: Clone> Clone for RecognizeWithValue<P>
impl<P: Clone> Clone for RecognizeWithValue<P>
source§fn clone(&self) -> RecognizeWithValue<P>
fn clone(&self) -> RecognizeWithValue<P>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<P> Parser for RecognizeWithValue<P>where
P: Parser,
P::Input: RangeStream,
<P::Input as StreamOnce>::Range: Range,
impl<P> Parser for RecognizeWithValue<P>where
P: Parser,
P::Input: RangeStream,
<P::Input as StreamOnce>::Range: Range,
§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. Read more§type Output = (<<P as Parser>::Input as StreamOnce>::Range, <P as Parser>::Output)
type Output = (<<P as Parser>::Input as StreamOnce>::Range, <P as Parser>::Output)
The type which is returned if the parser is successful.
§type PartialState = (usize, <P as Parser>::PartialState)
type PartialState = (usize, <P as Parser>::PartialState)
Determines the state necessary to resume parsing after more input is supplied. Read more
source§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
Read moresource§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 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_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 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 more