Macro iproduct
macro_rules! iproduct {
(@flatten $I:expr,) => { ... };
(@flatten $I:expr, $J:expr, $($K:expr,)*) => { ... };
() => { ... };
($I:expr $(,)?) => { ... };
($I:expr, $J:expr $(,)?) => { ... };
($I:expr, $J:expr, $($K:expr),+ $(,)?) => { ... };
}
Create an iterator over the “cartesian product” of iterators.
Iterator element type is like (A, B, ..., E) if formed
from iterators (I, J, ..., M) with element types I::Item = A, J::Item = B, etc.
# use iproduct;
#
#