std::shuffle_order_engine - cppreference.com (original) (raw)

std::shuffle_order_engine

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

Contents

[edit] 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.

[edit] Member types

Member type Definition
result_type (C++11) Engine::result_type

[edit] Member functions

(constructor)(C++11) constructs the engine adaptor (public member function) [edit]
seed(C++11) sets the state of the underlying engine (public member function) [edit]
base(C++11) returns the underlying engine (public member function) [edit]
Generation
operator()(C++11) advances the state of the underlying engine and returns the generated value (public member function) [edit]
discard(C++11) advances the adaptor's state by a specified amount (public member function) [edit]
Characteristics
min[static] (C++11) gets the smallest possible value in the output range of the underlying engine. (public static member function) [edit]
max[static] (C++11) gets the largest possible value in the output range of the underlying engine. (public static member function) [edit]

[edit] Non-member functions

[edit] Member objects

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

[edit] Example