Skip to main content

PeekingNext

Trait PeekingNext 

Source
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§

Source

fn peeking_next<F>(&mut self, accept: F) -> Option<Self::Item>
where Self: Sized, 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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<I> PeekingNext for &mut I
where I: PeekingNext,

Source§

fn peeking_next<F>(&mut self, accept: F) -> Option<<&mut I as Iterator>::Item>
where F: FnOnce(&<&mut I as Iterator>::Item) -> bool,

Implementors§

Source§

impl<'a, K, V> PeekingNext for rustmax::alloc::collections::btree_map::Iter<'a, K, V>

Source§

impl<'a, K, V> PeekingNext for rustmax::std::collections::hash_map::Iter<'a, K, V>

Source§

impl<'a, K, V> PeekingNext for rustmax::alloc::collections::btree_map::Keys<'a, K, V>

Source§

impl<'a, K, V> PeekingNext for rustmax::std::collections::hash_map::Keys<'a, K, V>

Source§

impl<'a, K, V> PeekingNext for rustmax::alloc::collections::btree_map::Values<'a, K, V>

Source§

impl<'a, K, V> PeekingNext for rustmax::std::collections::hash_map::Values<'a, K, V>

Source§

impl<'a, T> PeekingNext for rustmax::prelude::vec::Drain<'a, T>

Available on crate feature use_alloc only.
Source§

impl<'a, T> PeekingNext for rustmax::core::slice::Iter<'a, T>

Source§

impl<'a, T> PeekingNext for rustmax::core::option::Iter<'a, T>

Source§

impl<'a, T> PeekingNext for rustmax::core::result::Iter<'a, T>

Source§

impl<'a, T> PeekingNext for rustmax::alloc::collections::linked_list::Iter<'a, T>

Source§

impl<'a, T> PeekingNext for rustmax::alloc::collections::vec_deque::Iter<'a, T>

Source§

impl<'a, T> PeekingNext for rustmax::alloc::collections::btree_set::Iter<'a, T>

Source§

impl<'a, T> PeekingNext for rustmax::alloc::collections::binary_heap::Iter<'a, T>

Source§

impl<'a, T> PeekingNext for rustmax::std::collections::hash_set::Iter<'a, T>

Source§

impl<'a> PeekingNext for Bytes<'a>

Source§

impl<'a> PeekingNext for CharIndices<'a>

Source§

impl<'a> PeekingNext for Chars<'a>

Source§

impl<'a> PeekingNext for rustmax::alloc::string::Drain<'a>

Available on crate feature use_alloc only.
Source§

impl<I, F> PeekingNext for PeekingTakeWhile<'_, I, F>
where I: PeekingNext, F: FnMut(&<I as Iterator>::Item) -> bool,

Source§

impl<I> PeekingNext for MultiPeek<I>
where I: Iterator,

Source§

impl<I> PeekingNext for PeekNth<I>
where I: Iterator,

Source§

impl<I> PeekingNext for Peekable<I>
where I: Iterator,

Source§

impl<I> PeekingNext for PutBack<I>
where I: Iterator,

Source§

impl<I> PeekingNext for PutBackN<I>
where I: Iterator,

Available on crate feature use_alloc only.
Source§

impl<I> PeekingNext for Rev<I>

Source§

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

Source§

impl<T> PeekingNext for Empty<T>

Source§

impl<T> PeekingNext for rustmax::prelude::vec::IntoIter<T>

Available on crate feature use_alloc only.
Source§

impl<T> PeekingNext for RepeatN<T>
where T: Clone,