precog_iter

An iterator adapter that returns the equivalent of (iter.next(), iter.peek()).

Installation

Add a dependency to your Cargo.toml.

toml [dependencies] precog_iter = "0.5"

Then use the trait in your main.rs or lib.rs file.

rust use precog_iter::Precognition;

Usage

```rust use precog_iter::Precognition;

let mut iter = "ABAC".chars() .precog() .filter_map(|(codepoint, next)| { // Remove codepoint if followed by 'C'. match next { Some(n) if n == 'C' => { None } _ => Some(codepoint) } };

asserteq!(iter.next(), Some('A')); asserteq!(iter.next(), Some('B')); // The second 'A' has been filtered asserteq!(iter.next(), Some('C')); asserteq!(iter.next(), None); ```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.