logo
pub trait InputIter {
    type Item;
    type Iter: Iterator
    where
        <Self::Iter as Iterator>::Item == (usize, Self::Item)
; type IterElem: Iterator
    where
        <Self::IterElem as 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::Item) -> bool
; fn slice_index(&self, count: usize) -> Result<usize, Needed>; }
Available on crate feature mtls only.
Expand description

Abstracts common iteration operations on the input type

Required Associated Types

The current input type is a sequence of that Item type.

Example: u8 for &[u8] or char for &str

An iterator over the input type, producing the item and its position for use with Slice. If we’re iterating over &str, the position corresponds to the byte index of the character

An iterator over the input type, producing the item

Required Methods

Returns an iterator over the elements and their byte offsets

Returns an iterator over the elements

Finds the byte position of the element

Get the byte offset from the element’s position in the stream

Implementations on Foreign Types

Implementors