pub fn exhaustive_vecs_fixed_length_2_inputs<T: Clone, I: Iterator<Item = T>, J: Iterator<Item = T>>(
    xs: I,
    ys: J,
    output_types: &[(BitDistributorOutputType, usize)]
) -> ExhaustiveFixedLengthVecs2Inputs<T, I, J> 
Expand description

This documentation applies not only to exhaustive_vecs_fixed_length_2_inputs, but also to exhaustive_vecs_fixed_length_3_inputs, exhaustive_vecs_fixed_length_4_inputs, and so on. See exhaustive_vecs_fixed_length for more information.

Generates all Vecs of a given length with elements from $m$ iterators, where $m \leq n$.

The output_types parameter defines which iterators are mapped to which slot in the output Vecs, and how quickly each output slot advances through its iterator. The length of the output Vecs, $n$, is specified by the length of output_types.

The $i$th element of output_types is a pair of BitDistributorOutputType and usize. The BitDistributorOutputType determines how quickly the $i$th output slot advances through its iterator; see the BitDistributor documentation for a description of the different types. The usize is an index from 0 to $m-1$ which specifies which iterator the $i$th output slot is populated with. Together, the usizes must include all indices from 0 to $m-1$, inclusive, possibly with repetitions.

If all of xs, ys, zs, … are finite, the output length is the product of their lengths. If any of xs, ys, zs, … are infinite, the output is also infinite.

If any of xs, ys, zs, … is empty, the output is also empty.

§Panics

Panics if the usizes in output_types do not include all indices from 0 to $m-1$, inclusive, possibly with repetitions. In particular, the length of output_types must be at least $m$.

§Examples

See here.