Trait core::iter::DoubleEndedIteratorStable
[-] [+]
[src]
pub trait DoubleEndedIterator: Iterator { fn next_back(&mut self) -> Option<Self::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::Item>
Yield an element from the end of the range, returning None
if the
range is empty.
Implementors
impl<'a, I: DoubleEndedIterator + ?Sized> DoubleEndedIterator for &'a mut I
impl<I> DoubleEndedIterator for Rev<I> where I: DoubleEndedIterator
impl<T, D, I> DoubleEndedIterator for Cloned<I> where T: Clone, D: Deref<Target=T>, I: DoubleEndedIterator<Item=D>
impl<T, A, B> DoubleEndedIterator for Chain<A, B> where A: DoubleEndedIterator<Item=T>, B: DoubleEndedIterator<Item=T>
impl<T, U, A, B> DoubleEndedIterator for Zip<A, B> where A: DoubleEndedIterator + ExactSizeIterator<Item=T>, B: DoubleEndedIterator + ExactSizeIterator<Item=U>
impl<B, I: DoubleEndedIterator, F> DoubleEndedIterator for Map<I, F> where F: FnMut(Item) -> B
impl<I: DoubleEndedIterator, P> DoubleEndedIterator for Filter<I, P> where P: FnMut(&Item) -> bool
impl<B, I: DoubleEndedIterator, F> DoubleEndedIterator for FilterMap<I, F> where F: FnMut(Item) -> Option<B>
impl<I> DoubleEndedIterator for Enumerate<I> where I: ExactSizeIterator + DoubleEndedIterator
impl<I: DoubleEndedIterator, U: DoubleEndedIterator, F> DoubleEndedIterator for FlatMap<I, U, F> where F: FnMut(Item) -> U
impl<I> DoubleEndedIterator for Fuse<I> where I: DoubleEndedIterator
impl<I: DoubleEndedIterator, F> DoubleEndedIterator for Inspect<I, F> where F: FnMut(&Item)
impl<A: Int + ToPrimitive> DoubleEndedIterator for Range<A>
impl<A: Int + ToPrimitive> DoubleEndedIterator for RangeInclusive<A>
impl<A: Int> DoubleEndedIterator for Range<A>
impl<A: Clone> DoubleEndedIterator for Repeat<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) -> bool
impl<'a, T, P> DoubleEndedIterator for SplitMut<'a, T, P> where P: FnMut(&T) -> 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, 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>