7 releases
0.2.6 | Sep 30, 2024 |
---|---|
0.2.5 | Sep 28, 2024 |
0.1.1 | Sep 26, 2024 |
#1540 in Rust patterns
351 downloads per month
18KB
437 lines
fastpeek
When you need to do fast iteration, std::iter::Peekable adds some overhead because it has to check if it has a buffered value on each call to next(). This crate provides tree simple traits that can be implemented for iterators where the aim is to peek without calling next(). In addition to a normal single value forward peek, the crate has traits for peeking a DoubleEndedIterator, and for peeking multiple values through an iterator.
The crate does not necessarily aim to make peeking faster, but to remove the overhead of std::iter::Peekable when doing normal iteration.
The crate contains implementations for all Iterators that implement AsRef<[T]> plus std::array::IntoIter. In addition, Iterator adapters using various strategies to provide Peek are provided.