Trait core::iter::FusedIterator 1.26.0[−][src]
pub trait FusedIterator: Iterator { }
An iterator that always continues to yield None when exhausted.
Calling next on a fused iterator that has returned None once is guaranteed
to return None again. This trait should be implemented by all iterators
that behave this way because it allows optimizing Iterator::fuse().
Note: In general, you should not use FusedIterator in generic bounds if
you need a fused iterator. Instead, you should just call Iterator::fuse()
on the iterator. If the iterator is already fused, the additional Fuse
wrapper will be a no-op with no performance penalty.
Implementors
impl FusedIterator for core::ascii::EscapeDefault[src]
impl FusedIterator for core::char::EscapeDebug[src]
impl FusedIterator for core::char::EscapeDefault[src]
impl FusedIterator for core::char::EscapeUnicode[src]
impl FusedIterator for ToLowercase[src]
impl FusedIterator for ToUppercase[src]
impl FusedIterator for Bytes<'_>[src]
impl FusedIterator for CharIndices<'_>[src]
impl FusedIterator for Chars<'_>[src]
impl FusedIterator for EncodeUtf16<'_>[src]
impl FusedIterator for Lines<'_>[src]
impl FusedIterator for LinesAny<'_>[src]
impl FusedIterator for SplitAsciiWhitespace<'_>1.34.0[src]
impl FusedIterator for SplitWhitespace<'_>[src]
impl<'a> FusedIterator for EscapeAscii<'a>[src]
impl<'a> FusedIterator for core::str::EscapeDebug<'a>1.34.0[src]
impl<'a> FusedIterator for core::str::EscapeDefault<'a>1.34.0[src]
impl<'a> FusedIterator for core::str::EscapeUnicode<'a>1.34.0[src]
impl<'a, I, T: 'a> FusedIterator for Cloned<I> where
I: FusedIterator<Item = &'a T>,
T: Clone, [src]
I: FusedIterator<Item = &'a T>,
T: Clone,
impl<'a, I, T: 'a> FusedIterator for Copied<I> where
I: FusedIterator<Item = &'a T>,
T: Copy, 1.36.0[src]
I: FusedIterator<Item = &'a T>,
T: Copy,
impl<'a, P> FusedIterator for RMatchIndices<'a, P> where
P: Pattern<'a, Searcher: ReverseSearcher<'a>>, [src]
P: Pattern<'a, Searcher: ReverseSearcher<'a>>,
impl<'a, P> FusedIterator for RMatches<'a, P> where
P: Pattern<'a, Searcher: ReverseSearcher<'a>>, [src]
P: Pattern<'a, Searcher: ReverseSearcher<'a>>,
impl<'a, P> FusedIterator for core::str::RSplit<'a, P> where
P: Pattern<'a, Searcher: ReverseSearcher<'a>>, [src]
P: Pattern<'a, Searcher: ReverseSearcher<'a>>,
impl<'a, P> FusedIterator for core::str::RSplitN<'a, P> where
P: Pattern<'a, Searcher: ReverseSearcher<'a>>, [src]
P: Pattern<'a, Searcher: ReverseSearcher<'a>>,
impl<'a, P> FusedIterator for RSplitTerminator<'a, P> where
P: Pattern<'a, Searcher: ReverseSearcher<'a>>, [src]
P: Pattern<'a, Searcher: ReverseSearcher<'a>>,
impl<'a, P: Pattern<'a>> FusedIterator for MatchIndices<'a, P>[src]
impl<'a, P: Pattern<'a>> FusedIterator for Matches<'a, P>[src]
impl<'a, P: Pattern<'a>> FusedIterator for core::str::Split<'a, P>[src]
impl<'a, P: Pattern<'a>> FusedIterator for core::str::SplitInclusive<'a, P>1.51.0[src]
impl<'a, P: Pattern<'a>> FusedIterator for core::str::SplitN<'a, P>[src]
impl<'a, P: Pattern<'a>> FusedIterator for SplitTerminator<'a, P>[src]
impl<'a, T, P> FusedIterator for core::slice::RSplitN<'a, T, P> where
P: FnMut(&T) -> bool, [src]
P: FnMut(&T) -> bool,
impl<'a, T, P> FusedIterator for RSplitNMut<'a, T, P> where
P: FnMut(&T) -> bool, [src]
P: FnMut(&T) -> bool,
impl<'a, T, P> FusedIterator for core::slice::SplitN<'a, T, P> where
P: FnMut(&T) -> bool, [src]
P: FnMut(&T) -> bool,
impl<'a, T, P> FusedIterator for SplitNMut<'a, T, P> where
P: FnMut(&T) -> bool, [src]
P: FnMut(&T) -> bool,
impl<'a, T: 'a, P> FusedIterator for GroupBy<'a, T, P> where
P: FnMut(&T, &T) -> bool, [src]
P: FnMut(&T, &T) -> bool,
impl<'a, T: 'a, P> FusedIterator for GroupByMut<'a, T, P> where
P: FnMut(&T, &T) -> bool, [src]
P: FnMut(&T, &T) -> bool,
impl<A> FusedIterator for core::option::IntoIter<A>[src]
impl<A> FusedIterator for core::option::Iter<'_, A>[src]
impl<A> FusedIterator for core::option::IterMut<'_, A>[src]
impl<A, B> FusedIterator for Chain<A, B> where
A: FusedIterator,
B: FusedIterator<Item = A::Item>, [src]
A: FusedIterator,
B: FusedIterator<Item = A::Item>,
impl<A, B> FusedIterator for Zip<A, B> where
A: FusedIterator,
B: FusedIterator, [src]
A: FusedIterator,
B: FusedIterator,
impl<A, F: FnMut() -> A> FusedIterator for RepeatWith<F>1.28.0[src]
impl<A, F: FnOnce() -> A> FusedIterator for OnceWith<F>1.43.0[src]
impl<A: Clone> FusedIterator for Repeat<A>[src]
impl<A: Step> FusedIterator for Range<A>[src]
impl<A: Step> FusedIterator for RangeFrom<A>[src]
impl<A: Step> FusedIterator for RangeInclusive<A>[src]
impl<B, I: FusedIterator, F> FusedIterator for FilterMap<I, F> where
F: FnMut(I::Item) -> Option<B>, [src]
F: FnMut(I::Item) -> Option<B>,
impl<B, I: FusedIterator, F> FusedIterator for Map<I, F> where
F: FnMut(I::Item) -> B, [src]
F: FnMut(I::Item) -> B,
impl<I> FusedIterator for Cycle<I> where
I: Clone + Iterator, [src]
I: Clone + Iterator,
impl<I> FusedIterator for Enumerate<I> where
I: FusedIterator, [src]
I: FusedIterator,
impl<I> FusedIterator for Fuse<I> where
I: Iterator, [src]
I: Iterator,
impl<I> FusedIterator for Rev<I> where
I: FusedIterator + DoubleEndedIterator, [src]
I: FusedIterator + DoubleEndedIterator,
impl<I> FusedIterator for Skip<I> where
I: FusedIterator, [src]
I: FusedIterator,
impl<I> FusedIterator for Take<I> where
I: FusedIterator, [src]
I: FusedIterator,
impl<I, P> FusedIterator for SkipWhile<I, P> where
I: FusedIterator,
P: FnMut(&I::Item) -> bool, [src]
I: FusedIterator,
P: FnMut(&I::Item) -> bool,
impl<I, P> FusedIterator for TakeWhile<I, P> where
I: FusedIterator,
P: FnMut(&I::Item) -> bool, [src]
I: FusedIterator,
P: FnMut(&I::Item) -> bool,
impl<I, U> FusedIterator for Flatten<I> where
I: FusedIterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>,
U: Iterator, 1.29.0[src]
I: FusedIterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>,
U: Iterator,
impl<I, U, F> FusedIterator for FlatMap<I, U, F> where
I: FusedIterator,
U: IntoIterator,
F: FnMut(I::Item) -> U, [src]
I: FusedIterator,
U: IntoIterator,
F: FnMut(I::Item) -> U,
impl<I: FusedIterator + ?Sized> FusedIterator for &mut I[src]
impl<I: FusedIterator> FusedIterator for Peekable<I>[src]
impl<I: FusedIterator, F> FusedIterator for Inspect<I, F> where
F: FnMut(&I::Item), [src]
F: FnMut(&I::Item),
impl<I: FusedIterator, P> FusedIterator for Filter<I, P> where
P: FnMut(&I::Item) -> bool, [src]
P: FnMut(&I::Item) -> bool,
impl<T> FusedIterator for core::result::IntoIter<T>[src]
impl<T> FusedIterator for core::result::Iter<'_, T>[src]
impl<T> FusedIterator for core::result::IterMut<'_, T>[src]
impl<T> FusedIterator for Chunks<'_, T>[src]
impl<T> FusedIterator for ChunksExact<'_, T>1.31.0[src]
impl<T> FusedIterator for ChunksExactMut<'_, T>1.31.0[src]
impl<T> FusedIterator for ChunksMut<'_, T>[src]
impl<T> FusedIterator for core::slice::Iter<'_, T>[src]
impl<T> FusedIterator for core::slice::IterMut<'_, T>[src]
impl<T> FusedIterator for RChunks<'_, T>1.31.0[src]
impl<T> FusedIterator for RChunksExact<'_, T>1.31.0[src]
impl<T> FusedIterator for RChunksExactMut<'_, T>1.31.0[src]
impl<T> FusedIterator for RChunksMut<'_, T>1.31.0[src]
impl<T> FusedIterator for Windows<'_, T>[src]
impl<T> FusedIterator for Empty<T>[src]
impl<T> FusedIterator for Once<T>[src]
impl<T, F> FusedIterator for Successors<T, F> where
F: FnMut(&T) -> Option<T>, 1.34.0[src]
F: FnMut(&T) -> Option<T>,
impl<T, P> FusedIterator for core::slice::RSplit<'_, T, P> where
P: FnMut(&T) -> bool, 1.27.0[src]
P: FnMut(&T) -> bool,
impl<T, P> FusedIterator for RSplitMut<'_, T, P> where
P: FnMut(&T) -> bool, 1.27.0[src]
P: FnMut(&T) -> bool,
impl<T, P> FusedIterator for core::slice::Split<'_, T, P> where
P: FnMut(&T) -> bool, [src]
P: FnMut(&T) -> bool,
impl<T, P> FusedIterator for core::slice::SplitInclusive<'_, T, P> where
P: FnMut(&T) -> bool, 1.51.0[src]
P: FnMut(&T) -> bool,
impl<T, P> FusedIterator for SplitInclusiveMut<'_, T, P> where
P: FnMut(&T) -> bool, 1.51.0[src]
P: FnMut(&T) -> bool,
impl<T, P> FusedIterator for SplitMut<'_, T, P> where
P: FnMut(&T) -> bool, [src]
P: FnMut(&T) -> bool,