Trait itertools::PeekingNext
[−]
[src]
pub trait PeekingNext: Iterator {
fn peeking_next<F>(&mut self, accept: F) -> Option<Self::Item> where F: FnOnce(&Self::Item) -> bool;
}
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
fn peeking_next<F>(&mut self, accept: F) -> Option<Self::Item> where F: FnOnce(&Self::Item) -> bool
Pass a reference to the next iterator element to the closure accept
;
if accept
returns true, return it as the next element,
else None.
Implementors
impl<I> PeekingNext for Peekable<I> where I: Iterator
impl<I> PeekingNext for PutBack<I> where I: Iterator
impl<I> PeekingNext for PutBackN<I> where I: Iterator
impl<'a, T> PeekingNext for core::slice::Iter<'a, T>
impl<'a> PeekingNext for Chars<'a>
impl<'a> PeekingNext for CharIndices<'a>
impl<'a> PeekingNext for Bytes<'a>
impl<'a, T> PeekingNext for core::option::Iter<'a, T>
impl<'a, T> PeekingNext for core::result::Iter<'a, T>
impl<T> PeekingNext for Empty<T>
impl<'a, T> PeekingNext for collections::linked_list::Iter<'a, T>
impl<'a, T> PeekingNext for collections::vec_deque::Iter<'a, T>
impl<I: Clone + PeekingNext + DoubleEndedIterator> PeekingNext for Rev<I>