9using set_t = std::deque<element_t>;
12 size_t r,
size_t m_th)
16 else if(S.size() == r)
19 std::make_move_iterator(S.begin()),
20 std::make_move_iterator(S.end()));
33 R.push_back(S.front());
60 std::generate(S.begin(), S.end(),
61 [n =
size_t{} ]()
mutable{ return ++n; });
71 for(
size_t m_th = 0; m_th < max_m_th; ++m_th)
77 stream <<
"m_th - > " << m_th <<
" : " << R <<
endl;
void test_subsets(size_t n, size_t r)
void build_subset(set_t S, set_t &R, size_t r, size_t m_th)
std::deque< element_t > set_t
enable_if_all_in_list_t< types::type_list_t< Type1, Type2 >, integral_list_t, ReturnType > ncr(Type1 nn, Type2 rr)
Stream output operators << are implemented.