Trait std::iter::FusedIterator
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.
Implementations on Foreign Types
impl<'a> FusedIterator for EscapeAscii<'a>
[src]1.51.0
impl<'_, T, P> FusedIterator for SplitInclusiveMut<'_, T, P> where
P: FnMut(&T) -> bool,
Implementors
impl FusedIterator for std::ascii::EscapeDefault
impl FusedIterator for std::char::EscapeDebug
impl FusedIterator for std::char::EscapeDefault
impl FusedIterator for std::char::EscapeUnicode
impl FusedIterator for ToLowercase
impl FusedIterator for ToUppercase
[src]1.28.0
impl FusedIterator for Ancestors<'_>
impl FusedIterator for Components<'_>
impl FusedIterator for std::path::Iter<'_>
impl<'_> FusedIterator for Bytes<'_>
impl<'_> FusedIterator for CharIndices<'_>
impl<'_> FusedIterator for Chars<'_>
impl<'_> FusedIterator for EncodeUtf16<'_>
impl<'_> FusedIterator for Lines<'_>
impl<'_> FusedIterator for LinesAny<'_>
[src]1.34.0
impl<'_> FusedIterator for SplitAsciiWhitespace<'_>
impl<'_> FusedIterator for SplitWhitespace<'_>
impl<'_> FusedIterator for std::string::Drain<'_>
impl<'_, A> FusedIterator for std::option::Iter<'_, A>
impl<'_, A> FusedIterator for std::option::IterMut<'_, A>
impl<'_, I> FusedIterator for &'_ mut I where
I: FusedIterator + ?Sized,
impl<'_, K, V> FusedIterator for std::collections::btree_map::Iter<'_, K, V>
impl<'_, K, V> FusedIterator for std::collections::btree_map::IterMut<'_, K, V>
impl<'_, K, V> FusedIterator for std::collections::btree_map::Keys<'_, K, V>
impl<'_, K, V> FusedIterator for std::collections::btree_map::Range<'_, K, V>
impl<'_, K, V> FusedIterator for RangeMut<'_, K, V>
impl<'_, K, V> FusedIterator for std::collections::btree_map::Values<'_, K, V>
impl<'_, K, V> FusedIterator for std::collections::btree_map::ValuesMut<'_, K, V>
impl<'_, K, V, F> FusedIterator for std::collections::btree_map::DrainFilter<'_, K, V, F> where
F: FnMut(&K, &mut V) -> bool,
impl<'_, T> FusedIterator for std::collections::binary_heap::Drain<'_, T>
impl<'_, T> FusedIterator for std::collections::binary_heap::Iter<'_, T>
impl<'_, T> FusedIterator for std::collections::btree_set::Iter<'_, T>
impl<'_, T> FusedIterator for std::collections::btree_set::Range<'_, T>
impl<'_, T> FusedIterator for std::collections::btree_set::SymmetricDifference<'_, T> where
T: Ord,
impl<'_, T> FusedIterator for std::collections::linked_list::Iter<'_, T>
impl<'_, T> FusedIterator for std::collections::linked_list::IterMut<'_, T>
impl<'_, T> FusedIterator for std::collections::vec_deque::Iter<'_, T>
impl<'_, T> FusedIterator for std::collections::vec_deque::IterMut<'_, T>
impl<'_, T> FusedIterator for std::result::Iter<'_, T>
impl<'_, T> FusedIterator for std::result::IterMut<'_, T>
impl<'_, T> FusedIterator for Chunks<'_, T>
[src]1.31.0
impl<'_, T> FusedIterator for ChunksExact<'_, T>
[src]1.31.0
impl<'_, T> FusedIterator for ChunksExactMut<'_, T>
impl<'_, T> FusedIterator for ChunksMut<'_, T>
impl<'_, T> FusedIterator for std::slice::Iter<'_, T>
impl<'_, T> FusedIterator for std::slice::IterMut<'_, T>
[src]1.31.0
impl<'_, T> FusedIterator for RChunks<'_, T>
[src]1.31.0
impl<'_, T> FusedIterator for RChunksExact<'_, T>
[src]1.31.0
impl<'_, T> FusedIterator for RChunksExactMut<'_, T>
[src]1.31.0
impl<'_, T> FusedIterator for RChunksMut<'_, T>
impl<'_, T> FusedIterator for Windows<'_, T>
impl<'_, T, A> FusedIterator for std::collections::vec_deque::Drain<'_, T, A> where
A: Allocator,
impl<'_, T, F> FusedIterator for std::collections::btree_set::DrainFilter<'_, T, F> where
F: FnMut(&T) -> bool,
[src]1.27.0
impl<'_, T, P> FusedIterator for std::slice::RSplit<'_, T, P> where
P: FnMut(&T) -> bool,
impl<'_, T, const N: usize> FusedIterator for ArrayChunks<'_, T, N>
impl<'_, T, const N: usize> FusedIterator for ArrayChunksMut<'_, T, N>
[src]1.34.0
impl<'a> FusedIterator for std::str::EscapeDebug<'a>
[src]1.34.0
impl<'a> FusedIterator for std::str::EscapeDefault<'a>
[src]1.34.0
impl<'a> FusedIterator for std::str::EscapeUnicode<'a>
impl<'a, I, T> FusedIterator for Cloned<I> where
T: 'a + Clone,
I: FusedIterator<Item = &'a T>,
[src]1.36.0
impl<'a, I, T> FusedIterator for Copied<I> where
T: 'a + Copy,
I: FusedIterator<Item = &'a T>,
impl<'a, P> FusedIterator for RMatchIndices<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
impl<'a, P> FusedIterator for RMatches<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
impl<'a, P> FusedIterator for std::str::RSplit<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
impl<'a, P> FusedIterator for std::str::RSplitN<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
impl<'a, P> FusedIterator for RSplitTerminator<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
impl<A> FusedIterator for std::option::IntoIter<A>
impl<A, B> FusedIterator for Chain<A, B> where
B: FusedIterator<Item = <A as Iterator>::Item>,
A: FusedIterator,
impl<A, B> FusedIterator for Zip<A, B> where
B: FusedIterator,
A: FusedIterator,
impl<B, I, F> FusedIterator for FilterMap<I, F> where
F: FnMut(<I as Iterator>::Item) -> Option<B>,
I: FusedIterator,
impl<B, I, F> FusedIterator for Map<I, F> where
F: FnMut(<I as Iterator>::Item) -> B,
I: FusedIterator,
impl<I> FusedIterator for Enumerate<I> where
I: FusedIterator,
impl<I> FusedIterator for Peekable<I> where
I: FusedIterator,
impl<I> FusedIterator for Rev<I> where
I: FusedIterator + DoubleEndedIterator,
impl<I> FusedIterator for Skip<I> where
I: FusedIterator,
impl<I> FusedIterator for Take<I> where
I: FusedIterator,
impl<I, A> FusedIterator for Box<I, A> where
I: FusedIterator + ?Sized,
A: Allocator,
impl<I, F> FusedIterator for Inspect<I, F> where
F: FnMut(&<I as Iterator>::Item),
I: FusedIterator,
impl<I, P> FusedIterator for Filter<I, P> where
I: FusedIterator,
P: FnMut(&<I as Iterator>::Item) -> bool,
impl<I, P> FusedIterator for SkipWhile<I, P> where
I: FusedIterator,
P: FnMut(&<I as Iterator>::Item) -> bool,
impl<I, P> FusedIterator for TakeWhile<I, P> where
I: FusedIterator,
P: FnMut(&<I as Iterator>::Item) -> bool,
[src]1.29.0
impl<I, U> FusedIterator for Flatten<I> where
I: FusedIterator,
U: Iterator,
<I as Iterator>::Item: IntoIterator,
<<I as Iterator>::Item as IntoIterator>::IntoIter == U,
<<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item,
impl<I, U, F> FusedIterator for FlatMap<I, U, F> where
F: FnMut(<I as Iterator>::Item) -> U,
I: FusedIterator,
U: IntoIterator,
impl<K> FusedIterator for std::collections::hash_set::Drain<'_, K>
impl<K> FusedIterator for std::collections::hash_set::IntoIter<K>
impl<K> FusedIterator for std::collections::hash_set::Iter<'_, K>
impl<K, F> FusedIterator for std::collections::hash_set::DrainFilter<'_, K, F> where
F: FnMut(&K) -> bool,
impl<K, V> FusedIterator for std::collections::btree_map::IntoIter<K, V>
[src]1.54.0
impl<K, V> FusedIterator for std::collections::btree_map::IntoKeys<K, V>
[src]1.54.0
impl<K, V> FusedIterator for std::collections::btree_map::IntoValues<K, V>
impl<K, V> FusedIterator for std::collections::hash_map::Drain<'_, K, V>
impl<K, V> FusedIterator for std::collections::hash_map::IntoIter<K, V>
[src]1.54.0
impl<K, V> FusedIterator for std::collections::hash_map::IntoKeys<K, V>
[src]1.54.0
impl<K, V> FusedIterator for std::collections::hash_map::IntoValues<K, V>
impl<K, V> FusedIterator for std::collections::hash_map::Iter<'_, K, V>
impl<K, V> FusedIterator for std::collections::hash_map::IterMut<'_, K, V>
impl<K, V> FusedIterator for std::collections::hash_map::Keys<'_, K, V>
impl<K, V> FusedIterator for std::collections::hash_map::Values<'_, K, V>
impl<K, V> FusedIterator for std::collections::hash_map::ValuesMut<'_, K, V>
impl<K, V, F> FusedIterator for std::collections::hash_map::DrainFilter<'_, K, V, F> where
F: FnMut(&K, &mut V) -> bool,
impl<T> FusedIterator for std::collections::binary_heap::IntoIter<T>
impl<T> FusedIterator for std::collections::btree_set::IntoIter<T>
impl<T> FusedIterator for std::collections::linked_list::IntoIter<T>
impl<T> FusedIterator for std::result::IntoIter<T>
impl<T> FusedIterator for Empty<T>
impl<T> FusedIterator for Once<T>
impl<T, S> FusedIterator for std::collections::hash_set::Difference<'_, T, S> where
T: Eq + Hash,
S: BuildHasher,
impl<T, S> FusedIterator for std::collections::hash_set::Intersection<'_, T, S> where
T: Eq + Hash,
S: BuildHasher,
impl<T, S> FusedIterator for std::collections::hash_set::SymmetricDifference<'_, T, S> where
T: Eq + Hash,
S: BuildHasher,
impl<T, S> FusedIterator for std::collections::hash_set::Union<'_, T, S> where
T: Eq + Hash,
S: BuildHasher,
[src]1.40.0
impl<T, const N: usize> FusedIterator for std::array::IntoIter<T, N>
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/iter/trait.FusedIterator.html