Trait core::iter::RandomAccessIterator
[−]
[src]
pub trait RandomAccessIterator: Iterator {
fn indexable(&self) -> usize;
fn idx(&mut self, index: usize) -> Option<Self::Item>;
}: not widely used, may be better decomposed into Index and ExactSizeIterator
An object implementing random access indexing by usize`usize`
A RandomAccessIterator`RandomAccessIteratorshould be either infinite or a` should be either infinite or a
DoubleEndedIterator`DoubleEndedIterator. Calling`. Calling next()`next()or` or next_back()`next_back()on a` on a
RandomAccessIterator`RandomAccessIteratorreduces the indexable range accordingly. That is,` reduces the indexable range accordingly. That is,
it.idx(1)`it.idx(1)will become` will become it.idx(0)`it.idx(0)after` after it.next()`it.next()` is called.
Required Methods
fn indexable(&self) -> usize
: not widely used, may be better decomposed into Index and ExactSizeIterator
Returns the number of indexable elements. At most std::usize::MAX`std::usize::MAX`
elements are indexable, even if the iterator represents a longer range.
fn idx(&mut self, index: usize) -> Option<Self::Item>
: not widely used, may be better decomposed into Index and ExactSizeIterator
Returns an element at an index, or None`None` if the index is out of bounds
Implementors
impl<I> RandomAccessIterator for Rev<I> where I: DoubleEndedIterator + RandomAccessIteratorimpl<'a, I, T: 'a> RandomAccessIterator for Cloned<I> where I: RandomAccessIterator<Item=&'a T>, T: Cloneimpl<I> RandomAccessIterator for Cycle<I> where I: Clone + RandomAccessIteratorimpl<A, B> RandomAccessIterator for Chain<A, B> where A: RandomAccessIterator, B: RandomAccessIterator<Item=A>impl<A, B> RandomAccessIterator for Zip<A, B> where A: RandomAccessIterator, B: RandomAccessIteratorimpl<B, I: RandomAccessIterator, F> RandomAccessIterator for Map<I, F> where F: FnMut(I) -> Bimpl<I> RandomAccessIterator for Enumerate<I> where I: RandomAccessIteratorimpl<I> RandomAccessIterator for Skip<I> where I: RandomAccessIteratorimpl<I> RandomAccessIterator for Take<I> where I: RandomAccessIteratorimpl<I> RandomAccessIterator for Fuse<I> where I: RandomAccessIteratorimpl<I: RandomAccessIterator, F> RandomAccessIterator for Inspect<I, F> where F: FnMut(&I)impl<A: Clone> RandomAccessIterator for Repeat<A>impl<'a, T> RandomAccessIterator for Iter<'a, T>impl<'a, T> RandomAccessIterator for Windows<'a, T>impl<'a, T> RandomAccessIterator for Chunks<'a, T>