2 releases
Uses old Rust 2015
0.1.1 | Aug 18, 2017 |
---|---|
0.1.0 | Aug 18, 2017 |
#1859 in Algorithms
7KB
67 lines
peepable
peepable is a Rust look-alike for Peekable
.
It behaves slightly different as it eagerly loads the next value in the Iterator.
This allows .peep()
to be called on an immutable reference, saving you from the
borrow checker.
Example
use std::iter::Iterator;
use peepable::Peepable;
let mut iter = vec![1, 2, 3].into_iter();
// Note, this is not "mut peeper"!
let peeper = Peepable::new(iter);
assert_eq!(peeper.peep(), Some(&1));
// When mutable, we can use it as a normal iterator.
let mut peeper = peeper;
assert_eq!(peeper.next(), Some(1));
assert_eq!(peeper.peep(), Some(&2));
assert_eq!(peeper.next(), Some(2));
assert_eq!(peeper.next(), Some(3));
assert_eq!(peeper.peep(), None);
assert_eq!(peeper.next(), None);
License
peepable is licensed under the MIT license.