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 + RandomAccessIterator
impl<'a, I, T: 'a> RandomAccessIterator for Cloned<I> where I: RandomAccessIterator<Item=&'a T>, T: Clone
impl<I> RandomAccessIterator for Cycle<I> where I: Clone + RandomAccessIterator
impl<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: RandomAccessIterator
impl<B, I: RandomAccessIterator, F> RandomAccessIterator for Map<I, F> where F: FnMut(I::Item) -> B
impl<I> RandomAccessIterator for Enumerate<I> where I: RandomAccessIterator
impl<I> RandomAccessIterator for Skip<I> where I: RandomAccessIterator
impl<I> RandomAccessIterator for Take<I> where I: RandomAccessIterator
impl<I> RandomAccessIterator for Fuse<I> where I: RandomAccessIterator
impl<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>