1.26.0[−][src]Trait core::iter::FusedIterator
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 for some significant optimizations.
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::ascii::EscapeDefault
impl FusedIterator for EscapeDebug
[src]
impl FusedIterator for EscapeDebug
impl FusedIterator for core::char::EscapeDefault
[src]
impl FusedIterator for core::char::EscapeDefault
impl FusedIterator for EscapeUnicode
[src]
impl FusedIterator for EscapeUnicode
impl FusedIterator for ToLowercase
[src]
impl FusedIterator for ToLowercase
impl FusedIterator for ToUppercase
[src]
impl FusedIterator for ToUppercase
impl<'_> FusedIterator for Bytes<'_>
[src]
impl<'_> FusedIterator for Bytes<'_>
impl<'_> FusedIterator for CharIndices<'_>
[src]
impl<'_> FusedIterator for CharIndices<'_>
impl<'_> FusedIterator for Chars<'_>
[src]
impl<'_> FusedIterator for Chars<'_>
impl<'_> FusedIterator for EncodeUtf16<'_>
[src]
impl<'_> FusedIterator for EncodeUtf16<'_>
impl<'_> FusedIterator for Lines<'_>
[src]
impl<'_> FusedIterator for Lines<'_>
impl<'_> FusedIterator for LinesAny<'_>
[src]
impl<'_> FusedIterator for LinesAny<'_>
impl<'_> FusedIterator for SplitAsciiWhitespace<'_>
[src]
impl<'_> FusedIterator for SplitAsciiWhitespace<'_>
impl<'_> FusedIterator for SplitWhitespace<'_>
[src]
impl<'_> FusedIterator for SplitWhitespace<'_>
impl<'a, I, T: 'a> FusedIterator for Cloned<I> where
I: FusedIterator<Item = &'a T>,
T: Clone,
[src]
impl<'a, I, T: 'a> FusedIterator for Cloned<I> where
I: FusedIterator<Item = &'a T>,
T: Clone,
impl<'a, P: Pattern<'a>> FusedIterator for MatchIndices<'a, P>
[src]
impl<'a, P: Pattern<'a>> FusedIterator for MatchIndices<'a, P>
impl<'a, P: Pattern<'a>> FusedIterator for Matches<'a, P>
[src]
impl<'a, P: Pattern<'a>> FusedIterator for Matches<'a, P>
impl<'a, P: Pattern<'a>> FusedIterator for RMatchIndices<'a, P> where
P::Searcher: ReverseSearcher<'a>,
[src]
impl<'a, P: Pattern<'a>> FusedIterator for RMatchIndices<'a, P> where
P::Searcher: ReverseSearcher<'a>,
impl<'a, P: Pattern<'a>> FusedIterator for RMatches<'a, P> where
P::Searcher: ReverseSearcher<'a>,
[src]
impl<'a, P: Pattern<'a>> FusedIterator for RMatches<'a, P> where
P::Searcher: ReverseSearcher<'a>,
impl<'a, P: Pattern<'a>> FusedIterator for core::str::RSplit<'a, P> where
P::Searcher: ReverseSearcher<'a>,
[src]
impl<'a, P: Pattern<'a>> FusedIterator for core::str::RSplit<'a, P> where
P::Searcher: ReverseSearcher<'a>,
impl<'a, P: Pattern<'a>> FusedIterator for core::str::RSplitN<'a, P> where
P::Searcher: ReverseSearcher<'a>,
[src]
impl<'a, P: Pattern<'a>> FusedIterator for core::str::RSplitN<'a, P> where
P::Searcher: ReverseSearcher<'a>,
impl<'a, P: Pattern<'a>> FusedIterator for RSplitTerminator<'a, P> where
P::Searcher: ReverseSearcher<'a>,
[src]
impl<'a, P: Pattern<'a>> FusedIterator for RSplitTerminator<'a, P> where
P::Searcher: ReverseSearcher<'a>,
impl<'a, P: Pattern<'a>> FusedIterator for core::str::Split<'a, P>
[src]
impl<'a, P: Pattern<'a>> FusedIterator for core::str::Split<'a, P>
impl<'a, P: Pattern<'a>> FusedIterator for core::str::SplitN<'a, P>
[src]
impl<'a, P: Pattern<'a>> FusedIterator for core::str::SplitN<'a, P>
impl<'a, P: Pattern<'a>> FusedIterator for SplitTerminator<'a, P>
[src]
impl<'a, P: Pattern<'a>> FusedIterator for SplitTerminator<'a, P>
impl<'a, T> FusedIterator for core::slice::Iter<'a, T>
[src]
impl<'a, T> FusedIterator for core::slice::Iter<'a, T>
impl<'a, T> FusedIterator for core::slice::IterMut<'a, T>
[src]
impl<'a, T> FusedIterator for core::slice::IterMut<'a, T>
impl<'a, T> FusedIterator for RChunks<'a, T>
[src]
impl<'a, T> FusedIterator for RChunks<'a, T>
impl<'a, T> FusedIterator for RChunksExact<'a, T>
[src]
impl<'a, T> FusedIterator for RChunksExact<'a, T>
impl<'a, T> FusedIterator for RChunksExactMut<'a, T>
[src]
impl<'a, T> FusedIterator for RChunksExactMut<'a, T>
impl<'a, T> FusedIterator for RChunksMut<'a, T>
[src]
impl<'a, T> FusedIterator for RChunksMut<'a, T>
impl<'a, T, P> FusedIterator for core::slice::RSplitN<'a, T, P> where
P: FnMut(&T) -> bool,
[src]
impl<'a, T, P> FusedIterator for core::slice::RSplitN<'a, T, P> where
P: FnMut(&T) -> bool,
impl<'a, T, P> FusedIterator for RSplitNMut<'a, T, P> where
P: FnMut(&T) -> bool,
[src]
impl<'a, T, P> FusedIterator for RSplitNMut<'a, T, P> where
P: FnMut(&T) -> bool,
impl<'a, T, P> FusedIterator for core::slice::SplitN<'a, T, P> where
P: FnMut(&T) -> bool,
[src]
impl<'a, T, P> FusedIterator for core::slice::SplitN<'a, T, P> where
P: FnMut(&T) -> bool,
impl<'a, T, P> FusedIterator for SplitNMut<'a, T, P> where
P: FnMut(&T) -> bool,
[src]
impl<'a, T, P> FusedIterator for SplitNMut<'a, T, P> where
P: FnMut(&T) -> bool,
impl<A> FusedIterator for core::option::IntoIter<A>
[src]
impl<A> FusedIterator for core::option::IntoIter<A>
impl<A, '_> FusedIterator for core::option::Iter<'_, A>
[src]
impl<A, '_> FusedIterator for core::option::Iter<'_, A>
impl<A, '_> FusedIterator for core::option::IterMut<'_, A>
[src]
impl<A, '_> FusedIterator for core::option::IterMut<'_, A>
impl<A, B> FusedIterator for Chain<A, B> where
A: FusedIterator,
B: FusedIterator<Item = A::Item>,
[src]
impl<A, B> FusedIterator for Chain<A, B> where
A: FusedIterator,
B: FusedIterator<Item = A::Item>,
impl<A, B> FusedIterator for Zip<A, B> where
A: FusedIterator,
B: FusedIterator,
[src]
impl<A, B> FusedIterator for Zip<A, B> where
A: FusedIterator,
B: FusedIterator,
impl<A, F: FnMut() -> A> FusedIterator for RepeatWith<F>
[src]
impl<A, F: FnMut() -> A> FusedIterator for RepeatWith<F>
impl<A: Clone> FusedIterator for Repeat<A>
[src]
impl<A: Clone> FusedIterator for Repeat<A>
impl<A: Step> FusedIterator for Range<A>
[src]
impl<A: Step> FusedIterator for Range<A>
impl<A: Step> FusedIterator for RangeFrom<A>
[src]
impl<A: Step> FusedIterator for RangeFrom<A>
impl<A: Step> FusedIterator for RangeInclusive<A>
[src]
impl<A: Step> FusedIterator for RangeInclusive<A>
impl<B, I: FusedIterator, F> FusedIterator for FilterMap<I, F> where
F: FnMut(I::Item) -> Option<B>,
[src]
impl<B, I: FusedIterator, F> FusedIterator for FilterMap<I, F> where
F: FnMut(I::Item) -> Option<B>,
impl<B, I: FusedIterator, F> FusedIterator for Map<I, F> where
F: FnMut(I::Item) -> B,
[src]
impl<B, I: FusedIterator, F> FusedIterator for Map<I, F> where
F: FnMut(I::Item) -> B,
impl<I> FusedIterator for Cycle<I> where
I: Clone + Iterator,
[src]
impl<I> FusedIterator for Cycle<I> where
I: Clone + Iterator,
impl<I> FusedIterator for Enumerate<I> where
I: FusedIterator,
[src]
impl<I> FusedIterator for Enumerate<I> where
I: FusedIterator,
impl<I> FusedIterator for Fuse<I> where
I: Iterator,
[src]
impl<I> FusedIterator for Fuse<I> where
I: Iterator,
impl<I> FusedIterator for Rev<I> where
I: FusedIterator + DoubleEndedIterator,
[src]
impl<I> FusedIterator for Rev<I> where
I: FusedIterator + DoubleEndedIterator,
impl<I> FusedIterator for Skip<I> where
I: FusedIterator,
[src]
impl<I> FusedIterator for Skip<I> where
I: FusedIterator,
impl<I> FusedIterator for Take<I> where
I: FusedIterator,
[src]
impl<I> FusedIterator for Take<I> where
I: FusedIterator,
impl<I, P> FusedIterator for SkipWhile<I, P> where
I: FusedIterator,
P: FnMut(&I::Item) -> bool,
[src]
impl<I, P> FusedIterator for SkipWhile<I, P> where
I: FusedIterator,
P: FnMut(&I::Item) -> bool,
impl<I, P> FusedIterator for TakeWhile<I, P> where
I: FusedIterator,
P: FnMut(&I::Item) -> bool,
[src]
impl<I, P> FusedIterator for TakeWhile<I, P> where
I: FusedIterator,
P: FnMut(&I::Item) -> bool,
impl<I, U> FusedIterator for Flatten<I> where
I: FusedIterator,
U: Iterator,
I::Item: IntoIterator<IntoIter = U, Item = U::Item>,
[src]
impl<I, U> FusedIterator for Flatten<I> where
I: FusedIterator,
U: Iterator,
I::Item: IntoIterator<IntoIter = U, Item = U::Item>,
impl<I, U, F> FusedIterator for FlatMap<I, U, F> where
I: FusedIterator,
U: IntoIterator,
F: FnMut(I::Item) -> U,
[src]
impl<I, U, F> FusedIterator for FlatMap<I, U, F> where
I: FusedIterator,
U: IntoIterator,
F: FnMut(I::Item) -> U,
impl<I: FusedIterator + ?Sized, '_> FusedIterator for &'_ mut I
[src]
impl<I: FusedIterator + ?Sized, '_> FusedIterator for &'_ mut I
impl<I: FusedIterator> FusedIterator for Peekable<I>
[src]
impl<I: FusedIterator> FusedIterator for Peekable<I>
impl<I: FusedIterator, F> FusedIterator for Inspect<I, F> where
F: FnMut(&I::Item),
[src]
impl<I: FusedIterator, F> FusedIterator for Inspect<I, F> where
F: FnMut(&I::Item),
impl<I: FusedIterator, P> FusedIterator for Filter<I, P> where
P: FnMut(&I::Item) -> bool,
[src]
impl<I: FusedIterator, P> FusedIterator for Filter<I, P> where
P: FnMut(&I::Item) -> bool,
impl<T> FusedIterator for Empty<T>
[src]
impl<T> FusedIterator for Empty<T>
impl<T> FusedIterator for Once<T>
[src]
impl<T> FusedIterator for Once<T>
impl<T> FusedIterator for core::result::IntoIter<T>
[src]
impl<T> FusedIterator for core::result::IntoIter<T>
impl<T, '_> FusedIterator for core::result::Iter<'_, T>
[src]
impl<T, '_> FusedIterator for core::result::Iter<'_, T>
impl<T, '_> FusedIterator for core::result::IterMut<'_, T>
[src]
impl<T, '_> FusedIterator for core::result::IterMut<'_, T>
impl<T, '_> FusedIterator for Chunks<'_, T>
[src]
impl<T, '_> FusedIterator for Chunks<'_, T>
impl<T, '_> FusedIterator for ChunksExact<'_, T>
[src]
impl<T, '_> FusedIterator for ChunksExact<'_, T>
impl<T, '_> FusedIterator for ChunksExactMut<'_, T>
[src]
impl<T, '_> FusedIterator for ChunksExactMut<'_, T>
impl<T, '_> FusedIterator for ChunksMut<'_, T>
[src]
impl<T, '_> FusedIterator for ChunksMut<'_, T>
impl<T, '_> FusedIterator for Windows<'_, T>
[src]
impl<T, '_> FusedIterator for Windows<'_, T>
impl<T, P, '_> FusedIterator for core::slice::RSplit<'_, T, P> where
P: FnMut(&T) -> bool,
[src]
impl<T, P, '_> FusedIterator for core::slice::RSplit<'_, T, P> where
P: FnMut(&T) -> bool,
impl<T, P, '_> FusedIterator for RSplitMut<'_, T, P> where
P: FnMut(&T) -> bool,
[src]
impl<T, P, '_> FusedIterator for RSplitMut<'_, T, P> where
P: FnMut(&T) -> bool,
impl<T, P, '_> FusedIterator for core::slice::Split<'_, T, P> where
P: FnMut(&T) -> bool,
[src]
impl<T, P, '_> FusedIterator for core::slice::Split<'_, T, P> where
P: FnMut(&T) -> bool,
impl<T, P, '_> FusedIterator for SplitMut<'_, T, P> where
P: FnMut(&T) -> bool,
[src]
impl<T, P, '_> FusedIterator for SplitMut<'_, T, P> where
P: FnMut(&T) -> bool,