# iterwindows [![Crates.io Version](https://badgers.space/crates/version/iterwindows)](https://crates.io/crates/iterwindows) [![Docs.rs Latest](https://badgers.space/badge/docs.rs/latest/blue)](https://docs.rs/iterwindows) [![Build Status](https://badgers.space/github/checks/rossmacarthur/itermore?label=build)](https://github.com/rossmacarthur/itermore/actions/workflows/build.yaml) This crate provides an iterator adapter to iterate over all contiguous windows of length `N`. ### Deprecated This crate is deprecated in favour of the [`itermore`] crate and it currently just re-exports types from there. The following dependency definition is the equivalent of using this crate. ```toml # Cargo.toml [dependencies] itermore = { version = "...", default-features = false, features = ["array_windows"] } ``` ## Getting started Add the crate to your Cargo manifest. ```sh cargo add iterwindows ``` And bring the `IterArrayWindows` trait into scope. ```rust use iterwindows::IterArrayWindows; ``` Now you can use the [`array_windows`] method on any iterator. ```rust for [a, b, c] in iter.array_windows() { println!("{} {} {}", a, b, c) } ``` Generally the size of `N` can be inferred by the compiler but you can also specify it manually. ```rust let w = iter.array_windows::<3>(); ``` [`itermore`]: https://crates.io/crates/itermore [`array_windows`]: IterArrayWindows::array_windows ## License This project is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) for details.