variate_generator::operator()
Returns a random value.
result_type operator()();
template<class T>
result_type operator()(T value);
Parameters
T
The type of the engine argument.The engine argument.
value
Remarks
The first member function returns dist(wr_eng), where wr_eng is the object's wrapped engine.
The second member function returns dist(wr_eng, value), where wr_eng is the object's wrapped engine.
Example
// std_tr1__random__variate_generator_operator_fn.cpp
// compile with: /EHsc
#include <random>
#include <iostream>
typedef std::minstd_rand Myeng;
typedef std::uniform_int<unsigned int> Mydist;
typedef std::variate_generator<Myeng, Mydist> Myceng;
int main()
{
Myeng eng0;
Mydist dist0;
Myceng ceng(eng0, dist0);
const Myceng::engine_type& eng = ceng.engine(); // get base engine
const Myceng::distribution_type& dist =
ceng.distribution(); // get distribution
Myceng::result_type compval = ceng();
compval = compval; // to quiet "unused" warnings
eng.min();
dist.min();
std::cout << "min == " << ceng.min() << std::endl;
std::cout << "max == " << ceng.max() << std::endl;
std::cout << "a random value == " << ceng() << std::endl;
std::cout << "a random value == " << ceng() << std::endl;
std::cout << "a random value == " << ceng() << std::endl;
return (0);
}
min == 0 max == 9 a random value == 0 a random value == 6 a random value == 8
Requirements
Header: <random>
Namespace: std