Namespaces
Variants

std::experimental::ranges:: UniformRandomNumberGenerator

From cppreference.net
Défini dans l'en-tête <experimental/ranges/random>
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)

Le concept UniformRandomNumberGenerator<G> spécifie que G est le type d'un générateur de nombres aléatoires uniforme, c'est-à-dire que les objets de type G sont des objets fonction retournant des valeurs entières non signées telles que chaque valeur dans la plage des résultats possibles a (idéalement) une probabilité égale d'être retournée.

UniformRandomNumberGenerator<G> est satisfait uniquement si, étant donné un objet g de type G :

  • G::min() et G::max() sont des expressions constantes prvalue ;
  • G::min() < G::max()
  • g() est dans l'intervalle [G::min(), G::max()]
  • g() a une complexité amortie constante.