Namespaces
Variants

std::discrete_distribution<IntType>:: discrete_distribution

From cppreference.net
discrete_distribution ( ) ;
(1) (depuis C++11)
template < class InputIt >
discrete_distribution ( InputIt first, InputIt last ) ;
(2) (depuis C++11)
discrete_distribution ( std:: initializer_list < double > weights ) ;
(3) (depuis C++11)
template < class UnaryOperation >

discrete_distribution ( std:: size_t count, double xmin, double xmax,

UnaryOperation unary_op ) ;
(4) (depuis C++11)
explicit discrete_distribution ( const param_type & params ) ;
(5) (depuis C++11)

Construit un nouvel objet de distribution.

1) Constructeur par défaut. Construit la distribution avec un seul poids p = {1 }. Cette distribution générera toujours 0 .
2) Construit la distribution avec les poids dans l'intervalle [ first , last ) . Si first == last , les effets sont les mêmes que ceux du constructeur par défaut.
3) Construit la distribution avec les poids dans weights . Appelle effectivement discrete_distribution ( weights. begin ( ) , weights. end ( ) ) .
4) Construit la distribution avec count poids générés en utilisant la fonction unary_op . Chaque poids est égal à w i = unary_op(xmin + δ(i + 0.5)) , où δ =
(xmax − xmin)
count
et i ∈ {0, ..., count − 1 }. xmin et xmax doivent être tels que δ > 0 . Si count == 0 , les effets sont identiques à ceux du constructeur par défaut.
5) Construit la distribution avec params comme paramètres de la distribution.

Paramètres

first, last - la plage d'éléments définissant les nombres à utiliser comme pondérations. Le type des éléments référencés par InputIterator doit être convertible en double
weights - liste d'initialisation contenant les pondérations
unary_op - objet fonction d'opération unaire qui sera appliqué.

La signature de la fonction doit être équivalente à :

Ret fun ( const Type & a ) ;

La signature n'a pas besoin d'avoir const & .
Le type Type doit être tel qu'un objet de type double puisse être déréférencé puis implicitement converti en Type . Le type Ret doit être tel qu'un objet de type double puisse être déréférencé et se voir assigner une valeur de type Ret . ​

params - l'ensemble des paramètres de distribution
Exigences de type
-
InputIt doit satisfaire aux exigences de LegacyInputIterator .