std::discrete_distribution<IntType>::discrete_distribution (3) - Linux Manuals
std::discrete_distribution<IntType>::discrete_distribution: std::discrete_distribution<IntType>::discrete_distribution
NAME
std::discrete_distribution<IntType>::discrete_distribution - std::discrete_distribution<IntType>::discrete_distribution
Synopsis
discrete_distribution(); (1) (since C++11)
template< class InputIt > (2) (since C++11)
discrete_distribution( InputIt first, InputIt last );
discrete_distribution( std::initializer_list<double> weights ); (3) (since C++11)
template< class UnaryOperation >
discrete_distribution( std::size_t count, double xmin, double xmax, (4) (since C++11)
UnaryOperation unary_op );
explicit discrete_distribution( const param_type& params ); (5) (since C++11)
Constructs a new distribution object.
1) Default constructor. Constructs the distribution with a single weight p={1}. This distribution will always generate 0.
2) Constructs the distribution with weights in the range [first, last). If first == last, the effects are the same as of the default constructor.
3) Constructs the distribution with weights in weights. Effectively calls discrete_distribution(weights.begin(), weights.end()).
4) Constructs the distribution with count weights that are generated using function unary_op. Each of the weights is equal to w
i = unary_op(xmin + δ/2 + i · δ), where δ =
(xmax − xmin)
count
and i ∈ {0, ..., count−1}. xmin and xmax must be such that δ > 0. If count == 0 the effects are the same as of the default constructor.
5) Constructs the distribution with params as the distribution parameters.
Parameters
first, last - the range of elements defining the numbers to use as weights. The type of the elements referred by InputIterator must be convertible to double
weights - initializer list containing the weights
unary_op - Ret fun(const Type &a);
params - the distribution parameter set
Type requirements
-
InputIt must meet the requirements of LegacyInputIterator.