discrete_distribution(); (1) (since C++11) template< class InputIt >
discrete_distribution( InputIt first, InputIt last ); (2) (since C++11) discrete_distribution( std::initializer_list<double> weights ); (3) (since C++11) template< class UnaryOperation >
discrete_distribution( std::size_t count, double xmin, double xmax,
UnaryOperation unary_op ); (4) (since C++11) explicit discrete_distribution( const param_type& params );