pub struct MapOpt<F, G> { /* private fields */ }
Expand description
Implementation of Parser::map_opt
Trait Implementations§
Source§impl<I, O2, F, G> Parser<I> for MapOpt<F, G>
impl<I, O2, F, G> Parser<I> for MapOpt<F, G>
Source§fn process<OM>(
&mut self,
i: I,
) -> Result<(I, <<OM as OutputMode>::Output as Mode>::Output<<MapOpt<F, G> as Parser<I>>::Output>), Err<<MapOpt<F, G> as Parser<I>>::Error, <<OM as OutputMode>::Error as Mode>::Output<<MapOpt<F, G> as Parser<I>>::Error>>>where
OM: OutputMode,
fn process<OM>(
&mut self,
i: I,
) -> Result<(I, <<OM as OutputMode>::Output as Mode>::Output<<MapOpt<F, G> as Parser<I>>::Output>), Err<<MapOpt<F, G> as Parser<I>>::Error, <<OM as OutputMode>::Error as Mode>::Output<<MapOpt<F, G> as Parser<I>>::Error>>>where
OM: OutputMode,
A parser takes in input type, and returns a
Result
containing
either the remaining input and the output value, or an errorSource§fn parse(
&mut self,
input: Input,
) -> Result<(Input, Self::Output), Err<Self::Error>>
fn parse( &mut self, input: Input, ) -> Result<(Input, Self::Output), Err<Self::Error>>
A parser takes in input type, and returns a
Result
containing
either the remaining input and the output value, or an errorSource§fn parse_complete(
&mut self,
input: Input,
) -> Result<(Input, Self::Output), Err<Self::Error>>
fn parse_complete( &mut self, input: Input, ) -> Result<(Input, Self::Output), Err<Self::Error>>
A parser takes in input type, and returns a
Result
containing
either the remaining input and the output value, or an errorSource§fn 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.Source§fn 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.Source§fn 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
Source§fn 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
Source§fn 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
Auto Trait Implementations§
impl<F, G> Freeze for MapOpt<F, G>
impl<F, G> RefUnwindSafe for MapOpt<F, G>where
F: RefUnwindSafe,
G: RefUnwindSafe,
impl<F, G> Send for MapOpt<F, G>
impl<F, G> Sync for MapOpt<F, G>
impl<F, G> Unpin for MapOpt<F, G>
impl<F, G> UnwindSafe for MapOpt<F, G>where
F: UnwindSafe,
G: 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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more