Enum nom::IResult
[−]
[src]
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>
[src]
fn is_done(&self) -> bool
fn is_err(&self) -> bool
fn is_incomplete(&self) -> bool
fn map<N, F: FnOnce(O) -> N>(self, f: F) -> IResult<I, N, E>
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.
fn unwrap(self) -> (I, O)
Unwrap the contained Done(I, O)
value, or panic if the IResult
is not
Done
.
fn unwrap_inc(self) -> Needed
Unwrap the contained Done(I, O)
value, or panic if the IResult
is not
Done
.
fn unwrap_err(self) -> Err<I, E>
Unwrap the contained Done(I, O)
value, or panic if the IResult
is not
Done
.
Trait Implementations
impl<I: Clone, O: Clone, E: Clone> Clone for IResult<I, O, E>
[src]
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: Eq, O: Eq, E: Eq> Eq for IResult<I, O, E>
[src]
impl<I: PartialEq, O: PartialEq, E: PartialEq> PartialEq for IResult<I, O, E>
[src]
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 !=
.