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
A RandomAccessIterator should be either infinite or a
DoubleEndedIterator. Calling next() or next_back() on a
RandomAccessIterator reduces the indexable range accordingly. That is,
it.idx(1) will become it.idx(0) after 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
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 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::Item>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::Item) -> 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::Item)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>