Header <experimental/ranges/random> synopsis
namespace std { namespace experimental { namespace ranges { inline namespace v1 {
template <class G>
concept bool UniformRandomNumberGenerator = see below;
}}}}
template <class G> concept bool UniformRandomNumberGenerator = Invocable<G&> && UnsignedIntegral<result_of_t<G&()>> && requires { { G::min() } -> Same<result_of_t<G&()>>&&; { G::max() } -> Same<result_of_t<G&()>>&&; };
A uniform random number generator g of type G is a function object returning unsigned integer values such that each value in the range of possible results has (ideally) equal probability of being returned. [ Note: The degree to which g's results approximate the ideal is often determined statistically. — end note ]