class template
<random>
std::shuffle_order_engine
template <class Engine, size_t k> class shuffle_order_engine;
Shuffle-order random number engine adaptor
An engine adaptor class template that adapts a pseudo-random number generator Engine type so that the numbers are delivered in a different sequence.
The object keeps a buffer of k generated numbers internally, and when requested, returns a randomly selected number within the buffer, replacing it with a value obtained from its base engine.
Template parameters
- Engine
- A random number engine type. All standard generators, except random_device, are random number engine types.
- k
- Table size: Number of elements in the buffer table.
This parameter should be greater than zero.
size_t is an unsigned integral type.
Member types
The following alias is a member type of independent_bits_engine:
member type | definition | notes |
result_type | Engine::result_type | The type of the numbers generated. |
Member functions
- (constructor)
- Construct shuffle-order engine (public member function)
- min
- Minimum value (public static member function)
- max
- Maximum value (public static member function)
- seed
- Seed base engine (public member function)
- operator()
- Generate random number (public member function)
- discard
- Advance internal state (public member function)
- base
- Return base engine (public member function)
Non-member functions
- operator>>
- Extract from input stream (function template)
- operator<<
- Insert into output stream (function template)
- relational operators
- Relational operators (function template)
Member constexpr constants
member constant | definition | notes |
table_size | The second template parameter (k) | The size of the buffer table. |