public member function
<random>

std::discrete_distribution::param

(1)
param_type param() const;
(2)
void param (const param_type& parm);
Distribution parameters
The first version (1) returns an object with the parameters currently associated with the distribution object.
The second version (2) associates the parameters in object parm to the distribution object.

A discrete_distribution is defined by a sequence of probabilities for each of its possible values. An object of type param_type carries this information, but it is meant to be used only to construct or specify the parameters for a discrete_distribution object, not to inspect the individual probabilities.

To inspect the individual probabilities associated to the distribution object you can use: discrete_distribution::probabilities.

Parameters

parm
An object representing the distribution's parameters, obtained by a call to member function param.
param_type is a member type.

Return value

An object representing the distribution's parameters.
param_type is a member type.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// discrete_distribution::param
#include <iostream>
#include <random>

int main()
{
  std::default_random_engine generator;
  std::discrete_distribution<int> d1 {10.0,20.0,20.0,25.0,25.0};
  std::discrete_distribution<int> d2 (d1.param());

  // print two independent values:
  std::cout << d1(generator) << std::endl;
  std::cout << d2(generator) << std::endl;

  return 0;
}


Possible output:
1
2

Complexity

No worse than the complexity of param_type's constructor.

See also