| Defined in header <random> | ||
|---|---|---|
template<
class Engine,
std::size_t K
> class shuffle_order_engine; | (since C++11) |
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 | 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 (public member function) | |
| sets the state of the underlying engine (public member function) | |
| returns the underlying engine (public member function) | |
Generation | |
| operator()
| advances the state of the underlying engine and returns the generated value (public member function) |
| advances the adaptor's state by a specified amount (public member function) | |
Characteristics | |
| [static] | gets the smallest possible value in the output range of the underlying engine. (public static member function) |
| [static] | gets the largest possible value in the output range of the underlying engine. (public static member function) |
Non-member functions
| compares the internal states of the adaptors and underlying engines (function) | |
| performs stream input and output on pseudo-random number engine adaptor (function) |
Member objects
| constexpr size_t table_size [static] | the size of the internal table, K (public static member constant) |
Please login to continue.