pub trait PeekingNext: Iterator {
// Required method
fn peeking_next<F>(&mut self, accept: F) -> Option<Self::Item>
where Self: Sized,
F: FnOnce(&Self::Item) -> bool;
}Expand description
An iterator that allows peeking at an element before deciding to accept it.
See .peeking_take_while()
for more information.
This is implemented by peeking adaptors like peekable and put back,
but also by a few iterators that can be peeked natively, like the slice’s
by reference iterator (std::slice::Iter).
Required Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<'a, K, V> PeekingNext for Iter<'a, K, V>
impl<'a, K, V> PeekingNext for Iter<'a, K, V>
Source§impl<'a, K, V> PeekingNext for Keys<'a, K, V>
impl<'a, K, V> PeekingNext for Keys<'a, K, V>
Source§impl<'a, K, V> PeekingNext for Values<'a, K, V>
impl<'a, K, V> PeekingNext for Values<'a, K, V>
Source§impl<'a, T> PeekingNext for Drain<'a, T>
Available on crate feature use_alloc only.
impl<'a, T> PeekingNext for Drain<'a, T>
Available on crate feature
use_alloc only.Source§impl<'a, T> PeekingNext for Iter<'a, T>
impl<'a, T> PeekingNext for Iter<'a, T>
Source§impl<'a, T> PeekingNext for Iter<'a, T>
impl<'a, T> PeekingNext for Iter<'a, T>
Source§impl<'a, T> PeekingNext for Iter<'a, T>
impl<'a, T> PeekingNext for Iter<'a, T>
Source§impl<'a, T> PeekingNext for Iter<'a, T>
impl<'a, T> PeekingNext for Iter<'a, T>
Source§impl<'a, T> PeekingNext for Iter<'a, T>
impl<'a, T> PeekingNext for Iter<'a, T>
Source§impl<'a, T> PeekingNext for Iter<'a, T>
impl<'a, T> PeekingNext for Iter<'a, T>
Source§impl<'a, T> PeekingNext for Iter<'a, T>
impl<'a, T> PeekingNext for Iter<'a, T>
Source§impl<'a> PeekingNext for Bytes<'a>
impl<'a> PeekingNext for Bytes<'a>
Source§impl<'a> PeekingNext for CharIndices<'a>
impl<'a> PeekingNext for CharIndices<'a>
Source§impl<'a> PeekingNext for Chars<'a>
impl<'a> PeekingNext for Chars<'a>
Source§impl<'a> PeekingNext for Drain<'a>
Available on crate feature use_alloc only.
impl<'a> PeekingNext for Drain<'a>
Available on crate feature
use_alloc only.Source§impl<I: Clone + PeekingNext + DoubleEndedIterator> PeekingNext for Rev<I>
impl<I: Clone + PeekingNext + DoubleEndedIterator> PeekingNext for Rev<I>
Source§impl<I> PeekingNext for &mut Iwhere
I: PeekingNext,
impl<I> PeekingNext for &mut Iwhere
I: PeekingNext,
Source§impl<I> PeekingNext for Peekable<I>where
I: Iterator,
impl<I> PeekingNext for Peekable<I>where
I: Iterator,
Source§impl<T, const N: usize> PeekingNext for IntoIter<T, N>
impl<T, const N: usize> PeekingNext for IntoIter<T, N>
Source§impl<T> PeekingNext for Empty<T>
impl<T> PeekingNext for Empty<T>
Source§impl<T> PeekingNext for IntoIter<T>
Available on crate feature use_alloc only.
impl<T> PeekingNext for IntoIter<T>
Available on crate feature
use_alloc only.Implementors§
impl<I, F> PeekingNext for PeekingTakeWhile<'_, I, F>
impl<I> PeekingNext for MultiPeek<I>where
I: Iterator,
impl<I> PeekingNext for PeekNth<I>where
I: Iterator,
impl<I> PeekingNext for PutBack<I>where
I: Iterator,
impl<I> PeekingNext for PutBackN<I>where
I: Iterator,
Available on crate feature
use_alloc only.