Trait std::iter::ExactSizeIteratorUnstable
[-]
[+]
[src]
pub trait ExactSizeIterator<A>: DoubleEndedIterator<A> { fn rposition<P>(&mut self, predicate: P) -> Option<uint> { ... } fn len(&self) -> uint { ... } }
An iterator that knows its exact length
This trait is a helper for iterators like the vector iterator, so that it can support double-ended enumeration.
Iterator::size_hint
must return the exact size of the iterator.
Note that the size must fit in uint
.
Provided Methods
fn rposition<P>(&mut self, predicate: P) -> Option<uint>
Return the index of the last element satisfying the specified predicate
If no element matches, None is returned.
fn len(&self) -> uint
Return the exact length of the iterator.
Implementors
impl<Idx: Clone + Step> ExactSizeIterator<Idx> for Range<Idx>
impl<A, T: ExactSizeIterator<A>> ExactSizeIterator<(uint, A)> for Enumerate<T>
impl<A, I, F> ExactSizeIterator<A> for Inspect<A, I, F>
impl<A, T: ExactSizeIterator<A>> ExactSizeIterator<A> for Rev<T>
impl<A, B, I, F> ExactSizeIterator<B> for Map<A, B, I, F>
impl<A, B, T, U> ExactSizeIterator<(A, B)> for Zip<T, U>
impl<A: Clone, D: Deref<A>, I: ExactSizeIterator<D>> ExactSizeIterator<A> for Cloned<I>
impl<A> ExactSizeIterator<A> for Item<A>
impl<'a, A> ExactSizeIterator<&'a A> for Iter<'a, A>
impl<'a, A> ExactSizeIterator<&'a mut A> for IterMut<'a, A>
impl<A> ExactSizeIterator<A> for IntoIter<A>
impl<'a, T> ExactSizeIterator<&'a T> for Iter<'a, T>
impl<'a, T> ExactSizeIterator<&'a mut T> for IterMut<'a, T>
impl<T> ExactSizeIterator<T> for IntoIter<T>
impl<'a, T> ExactSizeIterator<&'a T> for Iter<'a, T>
impl<'a, T> ExactSizeIterator<&'a mut T> for IterMut<'a, T>
impl<'a> ExactSizeIterator<u8> for Bytes<'a>
impl<'a, T> ExactSizeIterator<&'a T> for Iter<'a, T>
impl<T> ExactSizeIterator<T> for IntoIter<T>
impl<'a, T: 'a> ExactSizeIterator<T> for Drain<'a, T>
impl<'a> ExactSizeIterator<bool> for Bits<'a>
impl<'a, K, V> ExactSizeIterator<(&'a K, &'a V)> for Iter<'a, K, V>
impl<'a, K, V> ExactSizeIterator<(&'a K, &'a mut V)> for IterMut<'a, K, V>
impl<K, V> ExactSizeIterator<(K, V)> for IntoIter<K, V>
impl<'a, K, V> ExactSizeIterator<&'a K> for Keys<'a, K, V>
impl<'a, K, V> ExactSizeIterator<&'a V> for Values<'a, K, V>
impl<'a, T> ExactSizeIterator<&'a T> for Iter<'a, T>
impl<T> ExactSizeIterator<T> for IntoIter<T>
impl<'a, A> ExactSizeIterator<&'a A> for Iter<'a, A>
impl<'a, A> ExactSizeIterator<&'a mut A> for IterMut<'a, A>
impl<'a, T> ExactSizeIterator<&'a T> for Iter<'a, T>
impl<'a, T> ExactSizeIterator<&'a mut T> for IterMut<'a, T>
impl<T> ExactSizeIterator<T> for IntoIter<T>
impl<'a, T: 'a> ExactSizeIterator<T> for Drain<'a, T>
impl<T> ExactSizeIterator<T> for IntoIter<T>
impl<'a, T> ExactSizeIterator<T> for Drain<'a, T>