19 bool nextPermutation();
22 std::vector<T> applyPermutation(std::vector<T>
const &collection)
24 std::vector<T> res(collection);
25 for (
size_t i = 0; i != m_numbers.size(); ++i) {
26 assert(m_numbers_init[i] < collection.size()
27 && m_numbers[i] < collection.size());
28 res[m_numbers_init[i]] = collection[m_numbers[i]];
37 void load(std::vector<std::vector<size_t>>
const &t_numbers);
41 std::vector<size_t> m_numbers;
42 std::vector<size_t> m_numbers_init;
43 std::vector<std::vector<size_t>::iterator> m_boundaries;
Namespace for csl library.
Definition: abreviation.h:34
Definition: multipermutation.h:7