Namespaces
Variants

std::experimental::ranges:: UniformRandomNumberGenerator

From cppreference.net
template < class G >

concept bool UniformRandomNumberGenerator =
Invocable < G & > &&
UnsignedIntegral < std:: result_of_t < G & ( ) >> &&
requires {
{ G :: min ( ) } - > Same < std:: result_of_t < G & ( ) >> && ;
{ G :: max ( ) } - > Same < std:: result_of_t < G & ( ) >> && ;

} ;
(ranges TS)

概念 UniformRandomNumberGenerator<G> 规定 G 是均匀随机数生成器的类型,即类型为 G 的对象是一个函数对象,它返回无符号整数值,使得在可能结果范围内的每个值(理想情况下)具有相等的返回概率。

UniformRandomNumberGenerator<G> 仅在满足以下条件时成立:给定类型为 G 的任意对象 g

  • G::min() G::max() 是纯右值常量表达式;
  • G::min() < G::max()
  • g() 的取值范围在 [G::min(), G::max()] 区间内
  • g() 具有均摊常数复杂度