Trait std::iter::DoubleEndedIteratorStable
[-] [+]
[src]
pub trait DoubleEndedIterator: Iterator where Self: 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<'a, I> DoubleEndedIterator for &'a mut I where I: DoubleEndedIterator, I: ?Sized
impl<I> DoubleEndedIterator for Rev<I> where I: DoubleEndedIterator
impl<T, D, I> DoubleEndedIterator for Cloned<I> where T: Clone, D: Deref, <D as Deref>::Target == T, I: DoubleEndedIterator, <I as Iterator>::Item == D
impl<T, A, B> DoubleEndedIterator for Chain<A, B> where A: DoubleEndedIterator, <A as Iterator>::Item == T, B: DoubleEndedIterator, <B as Iterator>::Item == T
impl<T, U, A, B> DoubleEndedIterator for Zip<A, B> where A: DoubleEndedIterator, A: ExactSizeIterator, <A as Iterator>::Item == T, B: DoubleEndedIterator, B: ExactSizeIterator, <B as Iterator>::Item == U
impl<B, I, F> DoubleEndedIterator for Map<I, F> where I: DoubleEndedIterator, F: FnMut(<I as Iterator>::Item), <F as FnMut(<I as Iterator>::Item)>::Output == B
impl<I, P> DoubleEndedIterator for Filter<I, P> where I: DoubleEndedIterator, P: FnMut(&<I as Iterator>::Item), <P as FnMut(&<I as Iterator>::Item)>::Output == bool
impl<B, I, F> DoubleEndedIterator for FilterMap<I, F> where I: DoubleEndedIterator, F: FnMut(<I as Iterator>::Item), <F as FnMut(<I as Iterator>::Item)>::Output == Option<B>
impl<I> DoubleEndedIterator for Enumerate<I> where I: ExactSizeIterator, I: DoubleEndedIterator
impl<I, U, F> DoubleEndedIterator for FlatMap<I, U, F> where I: DoubleEndedIterator, U: DoubleEndedIterator, F: FnMut(<I as Iterator>::Item), <F as FnMut(<I as Iterator>::Item)>::Output == U
impl<I> DoubleEndedIterator for Fuse<I> where I: DoubleEndedIterator
impl<I, F> DoubleEndedIterator for Inspect<I, F> where I: DoubleEndedIterator, F: FnMut(&<I as Iterator>::Item), <F as FnMut(&<I as Iterator>::Item)>::Output == ()
impl<A> DoubleEndedIterator for Range<A> where A: Int, A: ToPrimitive
impl<A> DoubleEndedIterator for RangeInclusive<A> where A: Int, A: ToPrimitive
impl<A> DoubleEndedIterator for Range<A> where A: Int
impl<A> DoubleEndedIterator for Repeat<A> where A: Clone
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> where P: FnMut(&T), <P as FnMut(&T)>::Output == bool
impl<'a, T, P> DoubleEndedIterator for SplitMut<'a, T, P> where P: FnMut(&T), <P as FnMut(&T)>::Output == bool
impl<'a, T> DoubleEndedIterator for Windows<'a, T>
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> DoubleEndedIterator for CharSplits<'a, Sep> where Sep: CharEq
impl<'a, P> DoubleEndedIterator for Split<'a, P> where P: CharEq
impl<'a, P> DoubleEndedIterator for SplitTerminator<'a, P> where P: CharEq
impl<'a> DoubleEndedIterator for Lines<'a>
impl<'a> DoubleEndedIterator for LinesAny<'a>
impl<I> DoubleEndedIterator for Box<I> where I: DoubleEndedIterator, I: ?Sized
impl<'a, T> DoubleEndedIterator for Iter<'a, T>
impl<T> DoubleEndedIterator for IntoIter<T>
impl<'a, T> DoubleEndedIterator for Drain<'a, T> where T: 'a
impl<'a> DoubleEndedIterator for Iter<'a>
impl<T> DoubleEndedIterator for RawItems<T>
impl<K, V, E, Impl> DoubleEndedIterator for AbsTraversal<Impl> where Impl: TraversalImpl, <Impl as TraversalImpl>::Item == (K, V), <Impl as TraversalImpl>::Edge == E
impl<K, V, E, T> DoubleEndedIterator for AbsIter<T> where T: DoubleEndedIterator, <T as Iterator>::Item == TraversalItem<K, V, E>, T: Traverse<E>
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, K, V> DoubleEndedIterator for Range<'a, K, V>
impl<'a, K, V> DoubleEndedIterator for RangeMut<'a, K, V>
impl<'a, T> DoubleEndedIterator for Iter<'a, T>
impl<T> DoubleEndedIterator for IntoIter<T>
impl<'a, T> DoubleEndedIterator for Range<'a, 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> DoubleEndedIterator for Drain<'a, T> where T: 'a
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 Drain<'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>
impl DoubleEndedIterator for EscapeDefault
impl<'a> DoubleEndedIterator for Iter<'a>
impl<'a> DoubleEndedIterator for Components<'a>