Enum cexpr::nom::IResult
[−]
pub enum IResult<I, O, E = u32> { Done(I, O), Error(Err<I, E>), Incomplete(Needed), }
Holds the result of parsing functions
It depends on I, the input type, O, the output type, and E, the error type (by default u32)
Variants
Done(I, O)
indicates a correct parsing, the first field containing the rest of the unparsed data, the second field contains the parsed data
Error(Err<I, E>)
contains a Err, an enum that can indicate an error code, a position in the input, and a pointer to another error, making a list of errors in the parsing tree
Incomplete(Needed)
Incomplete contains a Needed, an enum than can represent a known quantity of input data, or unknown
Methods
impl<I, O, E> IResult<I, O, E>
fn is_done(&self) -> bool
fn is_err(&self) -> bool
fn is_incomplete(&self) -> bool
fn map<N, F>(self, f: F) -> IResult<I, N, E> where F: FnOnce(O) -> N
Maps a IResult<I, O, E>
to IResult<I, N, E>
by appling a function
to a contained Done
value, leaving Error
and Incomplete
value
untouched.
fn map_inc<F>(self, f: F) -> IResult<I, O, E> where F: FnOnce(Needed) -> Needed
Maps a IResult<I, O, E>
to IResult<I, O, E>
by appling a function
to a contained Incomplete
value, leaving Done
and Error
value
untouched.
fn map_err<N, F>(self, f: F) -> IResult<I, O, N> where F: FnOnce(Err<I, E>) -> Err<I, N>
Maps a IResult<I, O, E>
to IResult<I, O, N>
by appling a function
to a contained Error
value, leaving Done
and Incomplete
value
untouched.
Trait Implementations
impl<I, O, E> Clone for IResult<I, O, E> where E: Clone, I: Clone, O: Clone
fn clone(&self) -> IResult<I, O, E>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<I, O, E> Eq for IResult<I, O, E> where E: Eq, I: Eq, O: Eq
impl<I, O, E> PartialEq<IResult<I, O, E>> for IResult<I, O, E> where E: PartialEq<E>, I: PartialEq<I>, O: PartialEq<O>
fn eq(&self, __arg_0: &IResult<I, O, E>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &IResult<I, O, E>) -> bool
This method tests for !=
.
impl<I, O, E> Debug for IResult<I, O, E> where E: Debug, I: Debug, O: Debug
fn fmt(&self, __arg_0: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter.