This crate provide generic permutators. There's a function that can get a combination at any specific point of lexicographic ordered permutation. There's k-permutation function to generate all possible permutation. There's KPermutation struct that provide Iterator style to do k-Permutation over data. There's HeapPermutation struct that provide Iterator style permutation iterator. There's a combination function to generate all possible combination. There's a GosperCombination struct that provide Iterator style combination iterator.
This crate provides traits that introduce additional functions to [T] and Vec<T>.
See trait Permutation and trait Combination
for more detail.
The simplest and most efficient usage is call combination for combination, heap_permutation for permutation, and k_permutation function for k-permutation.