spans
This crate allows you to split an iterator into contiguous spans.
Import the Spans
trait to extend Iterator
:
use Spans;
Now you can use Spans::spans_by_key
to split an iterator into contiguous spans:
let vec = vec!;
let mut spans = vec.iter.spans_by_key;
while let Some = spans.next
The code above splits the vector into spans where each item is 1 larger than the proceeding item. The following text is printed:
span = [1, 2]
span = [5, 6, 7]
span = [11]
span = [13, 14, 15]
Many thanks to Matt Brubeck for helping me so generously on the Rust users forum.