Trait libc::prelude::iter::FusedIterator

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

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§

1.26.0 · source§

impl FusedIterator for core::ascii::EscapeDefault

1.26.0 · source§

impl FusedIterator for core::char::EscapeDebug

1.26.0 · source§

impl FusedIterator for core::char::EscapeDefault

1.26.0 · source§

impl FusedIterator for core::char::EscapeUnicode

1.26.0 · source§

impl FusedIterator for ToLowercase

1.26.0 · source§

impl FusedIterator for ToUppercase

source§

impl FusedIterator for core::ffi::c_str::Bytes<'_>

1.26.0 · source§

impl FusedIterator for core::str::iter::Bytes<'_>

1.26.0 · source§

impl FusedIterator for CharIndices<'_>

1.26.0 · source§

impl FusedIterator for Chars<'_>

1.26.0 · source§

impl FusedIterator for EncodeUtf16<'_>

1.26.0 · source§

impl FusedIterator for Lines<'_>

1.26.0 · source§

impl FusedIterator for LinesAny<'_>

1.34.0 · source§

impl FusedIterator for SplitAsciiWhitespace<'_>

1.26.0 · source§

impl FusedIterator for SplitWhitespace<'_>

1.79.0 · source§

impl FusedIterator for Utf8Chunks<'_>

source§

impl<'a> FusedIterator for Source<'a>

1.60.0 · source§

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

1.34.0 · source§

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

1.34.0 · source§

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

1.34.0 · source§

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

1.26.0 · source§

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

1.36.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.51.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.77.0 · source§

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

1.77.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

source§

impl<A> FusedIterator for IterRange<A>
where A: Step,

source§

impl<A> FusedIterator for IterRangeFrom<A>
where A: Step,

source§

impl<A> FusedIterator for IterRangeInclusive<A>
where A: Step,

1.26.0 · source§

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

1.82.0 · source§

impl<A> FusedIterator for RepeatN<A>
where A: Clone,

1.26.0 · source§

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

1.26.0 · source§

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

1.43.0 · source§

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

1.28.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.75.0 · source§

impl<I> FusedIterator for DecodeUtf16<I>
where I: Iterator<Item = u16> + FusedIterator,

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

source§

impl<I> FusedIterator for Intersperse<I>
where I: FusedIterator, <I as Iterator>::Item: Clone,

1.26.0 · source§

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

1.26.0 · source§

impl<I> FusedIterator for Rev<I>

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

source§

impl<I, F, R, const N: usize> FusedIterator for MapWindows<I, F, N>
where I: Iterator, F: FnMut(&[<I as Iterator>::Item; N]) -> R,

source§

impl<I, G> FusedIterator for IntersperseWith<I, G>
where I: FusedIterator, G: FnMut() -> <I as Iterator>::Item,

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.29.0 · source§

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

1.26.0 · source§

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

source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · 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>

1.26.0 · source§

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

1.26.0 · source§

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

1.26.0 · source§

impl<T> FusedIterator for core::slice::iter::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>

1.26.0 · source§

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

1.26.0 · source§

impl<T> FusedIterator for Empty<T>

1.26.0 · 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::iter::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,

1.26.0 · source§

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

1.51.0 · source§

impl<T, P> FusedIterator for core::slice::iter::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,

1.26.0 · 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::iter::IntoIter<T, N>

source§

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

source§

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