Trait core::iter::FusedIterator

1.26.0 · source ·
pub trait FusedIterator: Iterator { }
Expand description

一个迭代器,用完后总是继续产生 None

确保一次返回 None 的融合迭代器上的 next 调用保证再次返回 None。 该 trait 应该由以此方式运行的所有迭代器实现,因为它允许优化 Iterator::fuse()

Note: 通常,如果需要融合的迭代器,则不应在泛型范围内使用 FusedIterator。 相反,您应该只在迭代器上调用 Iterator::fuse()。 如果迭代器已经融合,则额外的 Fuse 包装器将是无操作的,并且不会降低性能。

Implementors§

source§

impl FusedIterator for core::ascii::EscapeDefault

source§

impl FusedIterator for core::char::EscapeDebug

source§

impl FusedIterator for core::char::EscapeDefault

source§

impl FusedIterator for core::char::EscapeUnicode

source§

impl FusedIterator for ToLowercase

source§

impl FusedIterator for ToUppercase

source§

impl FusedIterator for Bytes<'_>

source§

impl FusedIterator for CharIndices<'_>

source§

impl FusedIterator for Chars<'_>

source§

impl FusedIterator for EncodeUtf16<'_>

source§

impl FusedIterator for Lines<'_>

source§

impl FusedIterator for LinesAny<'_>

1.34.0 · source§

impl FusedIterator for SplitAsciiWhitespace<'_>

source§

impl FusedIterator for SplitWhitespace<'_>

source§

impl FusedIterator for Utf8Chunks<'_>

1.60.0 · source§

impl<'a> FusedIterator for EscapeAscii<'a>

1.34.0 · source§

impl<'a> FusedIterator for core::str::EscapeDebug<'a>

1.34.0 · source§

impl<'a> FusedIterator for core::str::EscapeDefault<'a>

1.34.0 · source§

impl<'a> FusedIterator for core::str::EscapeUnicode<'a>

source§

impl<'a, I, T> FusedIterator for Cloned<I>where I: FusedIterator<Item = &'a T>, T: Clone + 'a,

1.36.0 · source§

impl<'a, I, T> FusedIterator for Copied<I>where I: FusedIterator<Item = &'a T>, T: Copy + 'a,

source§

impl<'a, P> FusedIterator for RMatchIndices<'a, P>where P: Pattern<'a, Searcher: ReverseSearcher<'a>>,

source§

impl<'a, P> FusedIterator for RMatches<'a, P>where P: Pattern<'a, Searcher: ReverseSearcher<'a>>,

source§

impl<'a, P> FusedIterator for core::str::RSplit<'a, P>where P: Pattern<'a, Searcher: ReverseSearcher<'a>>,

source§

impl<'a, P> FusedIterator for core::str::RSplitN<'a, P>where P: Pattern<'a, Searcher: ReverseSearcher<'a>>,

source§

impl<'a, P> FusedIterator for RSplitTerminator<'a, P>where P: Pattern<'a, Searcher: ReverseSearcher<'a>>,

source§

impl<'a, P: Pattern<'a>> FusedIterator for MatchIndices<'a, P>

source§

impl<'a, P: Pattern<'a>> FusedIterator for Matches<'a, P>

source§

impl<'a, P: Pattern<'a>> FusedIterator for core::str::Split<'a, P>

1.51.0 · source§

impl<'a, P: Pattern<'a>> FusedIterator for core::str::SplitInclusive<'a, P>

source§

impl<'a, P: Pattern<'a>> FusedIterator for core::str::SplitN<'a, P>

source§

impl<'a, P: Pattern<'a>> FusedIterator for SplitTerminator<'a, P>

source§

impl<'a, T, P> FusedIterator for core::slice::RSplitN<'a, T, P>where P: FnMut(&T) -> bool,

source§

impl<'a, T, P> FusedIterator for RSplitNMut<'a, T, P>where P: FnMut(&T) -> bool,

source§

impl<'a, T, P> FusedIterator for core::slice::SplitN<'a, T, P>where P: FnMut(&T) -> bool,

source§

impl<'a, T, P> FusedIterator for SplitNMut<'a, T, P>where P: FnMut(&T) -> bool,

source§

impl<'a, T: 'a, P> FusedIterator for GroupBy<'a, T, P>where P: FnMut(&T, &T) -> bool,

source§

impl<'a, T: 'a, P> FusedIterator for GroupByMut<'a, T, P>where P: FnMut(&T, &T) -> bool,

source§

impl<A> FusedIterator for core::option::IntoIter<A>

source§

impl<A> FusedIterator for core::option::Iter<'_, A>

source§

impl<A> FusedIterator for core::option::IterMut<'_, A>

source§

impl<A, B> FusedIterator for Chain<A, B>where A: FusedIterator, B: FusedIterator<Item = A::Item>,

source§

impl<A, B> FusedIterator for Zip<A, B>where A: FusedIterator, B: FusedIterator,

1.28.0 · source§

impl<A, F: FnMut() -> A> FusedIterator for RepeatWith<F>

1.43.0 · source§

impl<A, F: FnOnce() -> A> FusedIterator for OnceWith<F>

source§

impl<A: Clone> FusedIterator for Repeat<A>

source§

impl<A: Step> FusedIterator for Range<A>

source§

impl<A: Step> FusedIterator for RangeFrom<A>

source§

impl<A: Step> FusedIterator for RangeInclusive<A>

source§

impl<B, I: FusedIterator, F> FusedIterator for FilterMap<I, F>where F: FnMut(I::Item) -> Option<B>,

source§

impl<B, I: FusedIterator, F> FusedIterator for Map<I, F>where F: FnMut(I::Item) -> B,

source§

impl<I> FusedIterator for Cycle<I>where I: Clone + Iterator,

source§

impl<I> FusedIterator for Enumerate<I>where I: FusedIterator,

source§

impl<I> FusedIterator for Fuse<I>where I: Iterator,

source§

impl<I> FusedIterator for Rev<I>where I: FusedIterator + DoubleEndedIterator,

source§

impl<I> FusedIterator for Skip<I>where I: FusedIterator,

source§

impl<I> FusedIterator for Take<I>where I: FusedIterator,

source§

impl<I, P> FusedIterator for SkipWhile<I, P>where I: FusedIterator, P: FnMut(&I::Item) -> bool,

source§

impl<I, P> FusedIterator for TakeWhile<I, P>where I: FusedIterator, P: FnMut(&I::Item) -> bool,

1.29.0 · source§

impl<I, U> FusedIterator for Flatten<I>where I: FusedIterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>, U: Iterator,

source§

impl<I, U, F> FusedIterator for FlatMap<I, U, F>where I: FusedIterator, U: IntoIterator, F: FnMut(I::Item) -> U,

source§

impl<I, const N: usize> FusedIterator for core::iter::ArrayChunks<I, N>where I: FusedIterator,

source§

impl<I: FusedIterator + ?Sized> FusedIterator for &mut I

source§

impl<I: FusedIterator> FusedIterator for Peekable<I>

source§

impl<I: FusedIterator, F> FusedIterator for Inspect<I, F>where F: FnMut(&I::Item),

source§

impl<I: FusedIterator, P> FusedIterator for Filter<I, P>where P: FnMut(&I::Item) -> bool,

source§

impl<T> FusedIterator for core::result::IntoIter<T>

source§

impl<T> FusedIterator for core::result::Iter<'_, T>

source§

impl<T> FusedIterator for core::result::IterMut<'_, T>

source§

impl<T> FusedIterator for Chunks<'_, T>

1.31.0 · source§

impl<T> FusedIterator for ChunksExact<'_, T>

1.31.0 · source§

impl<T> FusedIterator for ChunksExactMut<'_, T>

source§

impl<T> FusedIterator for ChunksMut<'_, T>

source§

impl<T> FusedIterator for core::slice::Iter<'_, T>

source§

impl<T> FusedIterator for core::slice::IterMut<'_, T>

1.31.0 · source§

impl<T> FusedIterator for RChunks<'_, T>

1.31.0 · source§

impl<T> FusedIterator for RChunksExact<'_, T>

1.31.0 · source§

impl<T> FusedIterator for RChunksExactMut<'_, T>

1.31.0 · source§

impl<T> FusedIterator for RChunksMut<'_, T>

source§

impl<T> FusedIterator for Windows<'_, T>

source§

impl<T> FusedIterator for Empty<T>

source§

impl<T> FusedIterator for Once<T>

1.34.0 · source§

impl<T, F> FusedIterator for Successors<T, F>where F: FnMut(&T) -> Option<T>,

1.27.0 · source§

impl<T, P> FusedIterator for core::slice::RSplit<'_, T, P>where P: FnMut(&T) -> bool,

1.27.0 · source§

impl<T, P> FusedIterator for RSplitMut<'_, T, P>where P: FnMut(&T) -> bool,

source§

impl<T, P> FusedIterator for core::slice::Split<'_, T, P>where P: FnMut(&T) -> bool,

1.51.0 · source§

impl<T, P> FusedIterator for core::slice::SplitInclusive<'_, T, P>where P: FnMut(&T) -> bool,

1.51.0 · source§

impl<T, P> FusedIterator for SplitInclusiveMut<'_, T, P>where P: FnMut(&T) -> bool,

source§

impl<T, P> FusedIterator for SplitMut<'_, T, P>where P: FnMut(&T) -> bool,

1.40.0 · source§

impl<T, const N: usize> FusedIterator for core::array::IntoIter<T, N>

source§

impl<T, const N: usize> FusedIterator for core::slice::ArrayChunks<'_, T, N>

source§

impl<T, const N: usize> FusedIterator for ArrayChunksMut<'_, T, N>