std::shuffle_order_engine (3) - Linux Manuals

std::shuffle_order_engine: std::shuffle_order_engine

NAME

std::shuffle_order_engine - std::shuffle_order_engine

Synopsis


Defined in header <random>
template<
class Engine, (since C++11)
std::size_t K
> class shuffle_order_engine;


shuffle_order_engine is a random number engine adaptor that shuffles the random numbers generated by the base engine. It maintains a table of size K and delivers a randomly selected number from that table when requested, replacing it with a number generated by the base engine.
The following typedef defines the random number engine with one commonly used parameter set:


Defined in header <random>
Type Definition
knuth_b(C++11) std::shuffle_order_engine<std::minstd_rand0, 256>

Template parameters


Engine - the type of the wrapped engine
K - the size of the internal table. Must be greater than 0

Type requirements


-
Engine must meet the requirements of RandomNumberEngine.

Member types


Member type Definition
result_type Engine::result_type

Member functions


              constructs the engine adaptor
constructor (public member function)
              sets the state of the underlying engine
seed (public member function)
              returns the underlying engine
base (public member function)

Generation


              advances the state of the underlying engine and returns the generated value
operator() (public member function)
              advances the adaptor's state by a specified amount
discard (public member function)

Characteristics


min gets the smallest possible value in the output range of the underlying engine.
              (public static member function)
[static]


max gets the largest possible value in the output range of the underlying engine.
              (public static member function)
[static]

Non-member functions


           compares the internal states of the adaptors and underlying engines
operator== (function)
operator!=
           performs stream input and output on pseudo-random number engine adaptor
operator<< (function)
operator>>

Member objects


constexpr size_t table_size the size of the internal table, K
                            (public static member constant)
[static]