permutator

Type Alias CartesianProductIntoRefParams

Source
pub type CartesianProductIntoRefParams<'a, T> = (&'a [&'a [T]], *mut [&'a T]);
Expand description

A type that used exclusively for trait CartesianProduct. It return CartesianProductRefIter.

It’s a tuple where first element is a slice contains slices represents a domains of Cartesian product function. The second element is a mutable pointer to a slice which will be used to store each product.

§Format

  1. A mutable slice of slices. It’s a domains to of a cartesian product operation.
  2. A pointer to mutable slice of borrowed value. It’s a result container.

Trait Implementations§

Source§

impl<'a, 'b: 'a, T> CartesianProduct<'a> for CartesianProductIntoRefParams<'b, T>
where T: 'b,

An implementation for convenient use of CartesianProductRefIter

§Warning

It hid unsafe object instantiation of CartesianProductRefIter from user but all unsafe conditions are still applied as long as the the life of object itself.

Source§

type Producer = CartesianProductRefIter<'b, T>

Source§

fn cart_prod(&'a self) -> Self::Producer

Create a cartesian product producer which can be used to iterate over each product.