rename next() to next_combination() to avoid confusion with std::next on some compilers