Trait std::iter::DoubleEndedIteratorStable
[-]
[+]
[src]
pub trait DoubleEndedIterator: Iterator {
fn next_back(&mut self) -> Option<<Self as Iterator>::Item>;
}A range iterator able to yield elements from both ends
A DoubleEndedIterator can be thought of as a deque in that next() and next_back() exhaust
elements from the same range, and do not work independently of each other.
Required Methods
fn next_back(&mut self) -> Option<<Self as Iterator>::Item>
Yield an element from the end of the range, returning None if the range is empty.
Implementors
impl<Idx: Clone + Step> DoubleEndedIterator for Range<Idx>impl<I> DoubleEndedIterator for Rev<I>impl<'a, I> DoubleEndedIterator for ByRef<'a, I>impl<T, D, I> DoubleEndedIterator for Cloned<I>impl<T, A, B> DoubleEndedIterator for Chain<A, B>impl<T, U, A, B> DoubleEndedIterator for Zip<A, B>impl<A, B, I, F> DoubleEndedIterator for Map<A, B, I, F>impl<A, I, P> DoubleEndedIterator for Filter<A, I, P>impl<A, B, I, F> DoubleEndedIterator for FilterMap<A, B, I, F>impl<I> DoubleEndedIterator for Enumerate<I>impl<A, B, I, U, F> DoubleEndedIterator for FlatMap<A, B, I, U, F>impl<I> DoubleEndedIterator for Fuse<I>impl<A, I, F> DoubleEndedIterator for Inspect<A, I, F>impl<A: Int + ToPrimitive> DoubleEndedIterator for Range<A>impl<A: Int + ToPrimitive> DoubleEndedIterator for RangeInclusive<A>impl<A: Clone> DoubleEndedIterator for Repeat<A>impl<A> DoubleEndedIterator for Item<A>impl<'a, A> DoubleEndedIterator for Iter<'a, A>impl<'a, A> DoubleEndedIterator for IterMut<'a, A>impl<A> DoubleEndedIterator for IntoIter<A>impl<'a, T> DoubleEndedIterator for Iter<'a, T>impl<'a, T> DoubleEndedIterator for IterMut<'a, T>impl<T> DoubleEndedIterator for IntoIter<T>impl<'a, T> DoubleEndedIterator for Iter<'a, T>impl<'a, T> DoubleEndedIterator for IterMut<'a, T>impl<'a, T, P> DoubleEndedIterator for Split<'a, T, P>impl<'a, T, P> DoubleEndedIterator for SplitMut<'a, T, P>impl<'a, T> DoubleEndedIterator for Chunks<'a, T>impl<'a, T> DoubleEndedIterator for ChunksMut<'a, T>impl<'a> DoubleEndedIterator for Chars<'a>impl<'a> DoubleEndedIterator for CharIndices<'a>impl<'a> DoubleEndedIterator for Bytes<'a>impl<'a, Sep: CharEq> DoubleEndedIterator for CharSplits<'a, Sep>impl<'a, P: CharEq> DoubleEndedIterator for Split<'a, P>impl<'a, P: CharEq> DoubleEndedIterator for SplitTerminator<'a, P>impl<'a> DoubleEndedIterator for Lines<'a>impl<'a> DoubleEndedIterator for LinesAny<'a>impl<'a, T> DoubleEndedIterator for Iter<'a, T>impl<T> DoubleEndedIterator for IntoIter<T>impl<'a, T: 'a> DoubleEndedIterator for Drain<'a, T>impl<'a> DoubleEndedIterator for Iter<'a>impl<T> DoubleEndedIterator for RawItems<T>impl<K, V, E, Impl: TraversalImpl<K, V, E>> DoubleEndedIterator for AbsTraversal<Impl>impl<K, V, E, T> DoubleEndedIterator for AbsIter<T>impl<'a, K, V> DoubleEndedIterator for Iter<'a, K, V>impl<'a, K, V> DoubleEndedIterator for IterMut<'a, K, V>impl<K, V> DoubleEndedIterator for IntoIter<K, V>impl<'a, K, V> DoubleEndedIterator for Keys<'a, K, V>impl<'a, K, V> DoubleEndedIterator for Values<'a, K, V>impl<'a, T> DoubleEndedIterator for Iter<'a, T>impl<T> DoubleEndedIterator for IntoIter<T>impl<'a, A> DoubleEndedIterator for Iter<'a, A>impl<'a, A> DoubleEndedIterator for IterMut<'a, A>impl<A> DoubleEndedIterator for IntoIter<A>impl<'a, T> DoubleEndedIterator for Iter<'a, T>impl<'a, T> DoubleEndedIterator for IterMut<'a, T>impl<T> DoubleEndedIterator for IntoIter<T>impl<'a, T: 'a> DoubleEndedIterator for Drain<'a, T>impl<T> DoubleEndedIterator for IntoIter<T>impl<'a, T> DoubleEndedIterator for Drain<'a, T>impl<'a, V> DoubleEndedIterator for Iter<'a, V>impl<'a, V> DoubleEndedIterator for IterMut<'a, V>impl<'a, V> DoubleEndedIterator for Keys<'a, V>impl<'a, V> DoubleEndedIterator for Values<'a, V>impl<V> DoubleEndedIterator for IntoIter<V>impl<'a> DoubleEndedIterator for GraphemeIndices<'a>impl<'a> DoubleEndedIterator for Graphemes<'a>impl<'a> DoubleEndedIterator for Words<'a>