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() はprvalueの定数式です;
  • G::min() < G::max()
  • g() は範囲 [G::min(), G::max()] 内にあります
  • g() は償却定数計算量を持ちます。