Trait core::iter::RandomAccessIterator
[−]
[src]
pub trait RandomAccessIterator: Iterator {
fn indexable(&self) -> usize;
fn idx(&mut self, index: usize) -> Option<Self::Item>;
}: trait has not proven itself as a widely useful abstraction for iterators, and more time may be needed for iteration on the design
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
: trait has not proven itself as a widely useful abstraction for iterators, and more time may be needed for iteration on the design
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>
: trait has not proven itself as a widely useful abstraction for iterators, and more time may be needed for iteration on the design
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>