cartesian 0.1.0

QOL macro that creates the cartesian product of multiple iterators
Documentation

Provides a quality of life macro cartesian! to simplify certain loops.

The macro takes up to 26 iterators as arguments and creates the cartesian product iterator over all input iterators, kind of like nested for loops.

It behaves the same as nested for loops and brings the advantage of being more compact, and simplifies breaking and continuing.

Example

use cartesian::*;

let mut volume_grid = vec![vec![vec![0; 10]; 10]; 10];
for (x, y, z) in cartesian!(0..10, 0..10, 0..10) {
volume_grid[x][y][z] = x * y + z;
}