W3cubDocs

/C++

std::shuffle_order_engine

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
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)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/numeric/random/shuffle_order_engine