Namespaces
Variants

std::experimental::ranges:: UniformRandomNumberGenerator

From cppreference.net
Definido en el encabezado <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)

El concepto UniformRandomNumberGenerator<G> especifica que G es el tipo de un generador de números aleatorios uniforme, es decir, objetos de tipo G son objetos función que devuelven valores enteros sin signo de modo que cada valor en el rango de resultados posibles tiene (idealmente) igual probabilidad de ser devuelto.

UniformRandomNumberGenerator<G> se satisface únicamente si, dado cualquier objeto g de tipo G :

  • G::min() y G::max() son expresiones constantes prvalue;
  • G::min() < G::max()
  • g() está en el rango [G::min(), G::max()]
  • g() tiene complejidad constante amortizada.