Struct parser_compose::Or
source · pub struct Or<P1, P2> { /* private fields */ }
Expand description
A parser that succeeds if at least one inner parser succeeds. See or()
Trait Implementations§
source§impl<In, Out, P1, P2> Parser<In, Out> for Or<P1, P2>where
P1: Parser<In, Out>,
P2: Parser<In, Out>,
In: Clone,
impl<In, Out, P1, P2> Parser<In, Out> for Or<P1, P2>where P1: Parser<In, Out>, P2: Parser<In, Out>, In: Clone,
source§fn try_parse(&self, input: Input<In>) -> Res<In, Out>
fn try_parse(&self, input: Input<In>) -> Res<In, Out>
Recognizes a value from the input and returns the result Read more
source§fn map<F, Mapped>(self, f: F) -> Map<Self, F, Out>where
Self: Sized,
F: Fn(Out) -> Mapped,
fn map<F, Mapped>(self, f: F) -> Map<Self, F, Out>where Self: Sized, F: Fn(Out) -> Mapped,
Returns a parser that maps a
Parser<In, Out>
to Parser<In, Mapped>
by applying a
function to the result of the parser if it succeeded. Read moresource§fn when<F>(self, pred: F) -> Predicate<Self, F>where
Self: Sized,
F: Fn(Out) -> bool,
fn when<F>(self, pred: F) -> Predicate<Self, F>where Self: Sized, F: Fn(Out) -> bool,
Returns a new parser that succeeds if the predicate returns
true
. The predicate is given the
extracted value of the current parser as an argument Read moresource§fn repeated<R: RepetitionArgument>(self, count: R) -> Repeat<Self, R>where
Self: Sized,
fn repeated<R: RepetitionArgument>(self, count: R) -> Repeat<Self, R>where Self: Sized,
Returns a parser that suceeds if it is able to repeat
count
times. Read moresource§fn optional(self) -> Optional<Self>where
Self: Sized,
fn optional(self) -> Optional<Self>where Self: Sized,
Returns a parser always succeeds but wraps the output in an
Option<Out>
. If the original
parser would have failed, the parser outputs a None
. Read moresource§fn peeked(self) -> Peeked<Self>where
Self: Sized,
fn peeked(self) -> Peeked<Self>where Self: Sized,
Returns a parser that succeeds or fails as normal, but never consumes any input
regardless of the outcome. This can be used to look ahead. Read more
source§fn not_peeked(self) -> NotPeeked<Self, Out>where
Self: Sized,
fn not_peeked(self) -> NotPeeked<Self, Out>where Self: Sized,
source§fn and_then<F, U, E>(self, f: F) -> AndThen<Self, F, Out>where
Self: Sized,
F: Fn(Out) -> Result<U, E>,
E: Error,
fn and_then<F, U, E>(self, f: F) -> AndThen<Self, F, Out>where Self: Sized, F: Fn(Out) -> Result<U, E>, E: Error,
Auto Trait Implementations§
impl<P1, P2> RefUnwindSafe for Or<P1, P2>where P1: RefUnwindSafe, P2: RefUnwindSafe,
impl<P1, P2> Send for Or<P1, P2>where P1: Send, P2: Send,
impl<P1, P2> Sync for Or<P1, P2>where P1: Sync, P2: Sync,
impl<P1, P2> Unpin for Or<P1, P2>where P1: Unpin, P2: Unpin,
impl<P1, P2> UnwindSafe for Or<P1, P2>where P1: UnwindSafe, P2: 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