pub trait Combination<'a> {
    type Combinator: Iterator;
    fn combination(&'a self, k: usize) -> Self::Combinator;
}
Expand description

Create a combination out of T Normally, it take a [T] or Vec<T> to create a combination.

Example

use permutator::Combination;
let data = [1, 2, 3, 4, 5];
data.combination(3).for_each(|c| {
    // called multiple times.
    // Each call have [1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4]
    // [1, 2, 5], [1, 3, 5], [2, 3, 5], [1, 4, 5], [2, 4, 5],
    // and [3, 4, 5] respectively.
    println!("{:?}", c);
});

See Example implementation on foreign type.

Associated Types

Required methods

Create a family of LargeCombinationIterator of k size out of self. See LargeCombinationIterator for how to use LargeCombinationIterator

Return

A new family of LargeCombinationIterator

Implementations on Foreign Types

An implementation for convenient use of LargeCombinationIterator

An implementation for convenient use of LargeCombinationIterator

Implementors

An implementation for convenient use of LargeCombinationCellIter

An implementation for convenient use of LargeCombinationRefIter

Warning

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