Trait nom::InputIter
[−]
[src]
pub trait InputIter {
type Item: AsChar;
type RawItem: AsChar;
type Iter: Iterator<Item=(usize, Self::Item)>;
type IterElem: Iterator<Item=Self::Item>;
fn iter_indices(&self) -> Self::Iter;
fn iter_elements(&self) -> Self::IterElem;
fn position<P>(&self, predicate: P) -> Option<usize> where P: Fn(Self::RawItem) -> bool;
fn slice_index(&self, count: usize) -> Option<usize>;
}
abstracts common iteration operations on the input type
it needs a distinction between Item
and RawItem
because
&[T]
iterates on references
Associated Types
type Item: AsChar
type RawItem: AsChar
type Iter: Iterator<Item=(usize, Self::Item)>
type IterElem: Iterator<Item=Self::Item>
Required Methods
fn iter_indices(&self) -> Self::Iter
returns an iterator over the elements and their byte offsets
fn iter_elements(&self) -> Self::IterElem
returns an iterator over the elements
fn position<P>(&self, predicate: P) -> Option<usize> where P: Fn(Self::RawItem) -> bool
finds the byte position of the element
fn slice_index(&self, count: usize) -> Option<usize>
get the byte offset from the element's position in the stream