Expand description
A Rust iterator extension trait to extend iterators with a new method called
with_position
which makes it easier to handle an element being the first,
last, middle or only element in an iteration. It is similar to a method in
itertools with the same name, but with a slightly different API, which IMO is
a bit easier to use.
§Example
use with_position::{WithPosition, Position};
let result: Vec<_> = vec![1,2,3].into_iter().with_position().collect();
assert_eq!(result[0], (Position::First, 1));
assert_eq!(result[1], (Position::Middle, 2));
assert_eq!(result[2], (Position::Last, 3));
assert_eq!(result[0].0.is_first(), true);
assert_eq!(result[1].0.is_first(), false);
Structs§
- Position
Iterator - An iterator adapter that yields tuples where the first element is a Position and the second is the item.
Enums§
- Position
- An enum which indicates the position of an item in an iteration.
Traits§
- With
Position - Extension trait for iterators which adds the
with_position
method