This crate offers an Iterator
adaptor, which yields "sliding windows" over the elements returned by the wrapped iterator.
It's worth to note that it does not copy elements, which makes the code relatively performant.
```rust extern crate slidingwindows; use slidingwindows::{IterExt, SlidingWindowStorage};
let mut storage: SlidingWindowStorage
for x in (0..5).sliding_windows(&mut storage) { println!("{:?}", x); }
// This outputs: // [0, 1, 2] // [1, 2, 3] // [2, 3, 4] ```