iter_cartesian 0.1.0

A Cartesian product iterator with double-ended iteration and O(1) length queries.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use iter_cartesian::CartesianExt;

fn main() {
    // Every valid (resolution, framerate) pair (a, b) without using a nested loop.
    let resolutions = [720u32, 1080, 1440];
    let framerates = [30u32, 60, 120];

    resolutions
        .iter()
        .cartesian(framerates.iter())
        .for_each(|(r, f)| {
            println!("{}p @ {} fps", r, f);
        });
}