16template<
typename T,
typename Generator = std::mt19937_64>
18 Generator &&g = Generator())
20 static_assert(std::is_arithmetic_v<T>,
"T must be an arithmetic type");
22 M_insist(is_range_wide_enough<T>(min, max, count),
"range [min, max] does not have count distinct values");
24 if (count == 1)
return std::vector<T>(1, min);
27 std::shuffle(values.begin(), values.end(), std::forward<Generator>(g));
std::vector< T > generate_uniform_distinct_numbers(const T min, const T max, const std::size_t count, Generator &&g=Generator())
Generate count many distinct numbers of type T, chosen uniformly at random from the range [min,...
std::vector< value_type > sequence() const