pub trait InputIter {
type Item;
type Iter: Iterator<Item = (usize, Self::Item)>;
type IterElem: Iterator<Item = Self::Item>;
// Required methods
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>;
}
Expand description
Abstracts common iteration operations on the input type
Required Associated Types§
Sourcetype Item
type Item
The current input type is a sequence of that Item
type.
Example: u8
for &[u8]
or char
for &str
Required Methods§
Sourcefn iter_indices(&self) -> Self::Iter
fn iter_indices(&self) -> Self::Iter
Returns an iterator over the elements and their byte offsets
Sourcefn iter_elements(&self) -> Self::IterElem
fn iter_elements(&self) -> Self::IterElem
Returns an iterator over the elements
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.