Trait std::iter::FusedIterator 1.26.0[−][src]
pub trait FusedIterator: Iterator { }
Expand description
一个迭代器,用完后总是继续产生 None
。
确保一次返回 None
的融合迭代器上的 next 调用保证再次返回 None
。
该 trait 应该由以此方式运行的所有迭代器实现,因为它允许优化 Iterator::fuse()
。
Note: 通常,如果需要融合的迭代器,则不应在泛型范围内使用 FusedIterator
。
相反,您应该只在迭代器上调用 Iterator::fuse()
。
如果迭代器已经融合,则额外的 Fuse
包装器将是无操作的,并且不会降低性能。
Implementors
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::btree_set::SymmetricDifference<'_, T> where
T: Ord,
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,
1.27.0[src]
impl<'_, T, P> FusedIterator for std::slice::RSplit<'_, T, P> where
P: FnMut(&T) -> bool,
1.51.0[src]
impl<'_, T, P> FusedIterator for std::slice::SplitInclusive<'_, T, P> where
P: FnMut(&T) -> bool,
impl<'a, I, T> FusedIterator for Cloned<I> where
T: 'a + Clone,
I: FusedIterator<Item = &'a T>,
1.36.0[src]
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, B> FusedIterator for Chain<A, B> where
A: FusedIterator,
B: FusedIterator<Item = <A as Iterator>::Item>,
impl<B, I, F> FusedIterator for FilterMap<I, F> where
I: FusedIterator,
F: FnMut(<I as Iterator>::Item) -> Option<B>,
impl<B, I, F> FusedIterator for Map<I, F> where
I: FusedIterator,
F: FnMut(<I as Iterator>::Item) -> B,
impl<I, F> FusedIterator for Inspect<I, F> where
I: FusedIterator,
F: FnMut(&<I as Iterator>::Item),
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,
1.29.0[src]