Difference between revisions of "cpp/numeric/random/shuffle order engine"
From cppreference.com
m (langlinks) |
m (fmt) |
||
Line 2: | Line 2: | ||
{{cpp/numeric/random/shuffle_order_engine/navbar}} | {{cpp/numeric/random/shuffle_order_engine/navbar}} | ||
{{dcl begin}} | {{dcl begin}} | ||
− | {{dcl header | random}} | + | {{dcl header|random}} |
− | {{dcl | since=c++11 | | + | {{dcl|since=c++11| |
template< | template< | ||
− | class Engine, | + | class Engine, |
std::size_t K | std::size_t K | ||
> class shuffle_order_engine; | > class shuffle_order_engine; | ||
Line 15: | Line 15: | ||
The following typedef defines the random number engine with one commonly used parameter set: | The following typedef defines the random number engine with one commonly used parameter set: | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc header | random}} | + | {{dsc header|random}} |
− | {{dsc hitem | Type | Definition}} | + | {{dsc hitem|Type|Definition}} |
− | {{dsc inc | cpp/numeric/random/dsc knuth_b}} | + | {{dsc inc|cpp/numeric/random/dsc knuth_b}} |
{{dsc end}} | {{dsc end}} | ||
===Template parameters=== | ===Template parameters=== | ||
{{par begin}} | {{par begin}} | ||
− | {{par | Engine | the type of the wrapped engine }} | + | {{par|Engine|the type of the wrapped engine}} |
− | {{par | K | the size of the internal table. Must be greater than {{math|0}} }} | + | {{par|K|the size of the internal table. Must be greater than {{math|0}}.}} |
{{par hreq}} | {{par hreq}} | ||
− | {{par req named | Engine | RandomNumberEngine}} | + | {{par req named|Engine|RandomNumberEngine}} |
{{par end}} | {{par end}} | ||
===Member types=== | ===Member types=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc hitem | Member type | Definition}} | + | {{dsc hitem|Member type|Definition}} |
− | {{dsc | {{tt|result_type}} | {{tt|Engine::result_type}} }} | + | {{dsc|{{tt|result_type}} {{mark c++11}}|{{tt|Engine::result_type}}}} |
{{dsc end}} | {{dsc end}} | ||
===Member functions=== | ===Member functions=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc inc | cpp/numeric/random/adaptor/dsc constructor |shuffle_order_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc constructor|shuffle_order_engine}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc seed |shuffle_order_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc seed|shuffle_order_engine}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc base |shuffle_order_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc base|shuffle_order_engine}} |
− | {{dsc h2 | Generation}} | + | {{dsc h2|Generation}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc operator() |shuffle_order_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc operator()|shuffle_order_engine}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc discard |shuffle_order_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc discard|shuffle_order_engine}} |
− | {{dsc h2 | Characteristics}} | + | {{dsc h2|Characteristics}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc min |shuffle_order_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc min|shuffle_order_engine}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc max |shuffle_order_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc max|shuffle_order_engine}} |
{{dsc end}} | {{dsc end}} | ||
===Non-member functions=== | ===Non-member functions=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc inc | cpp/numeric/random/adaptor/dsc operator_cmp |shuffle_order_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc operator_cmp|shuffle_order_engine}} |
− | {{dsc inc | cpp/numeric/random/adaptor/dsc operator_ltltgtgt |shuffle_order_engine}} | + | {{dsc inc|cpp/numeric/random/adaptor/dsc operator_ltltgtgt|shuffle_order_engine}} |
{{dsc end}} | {{dsc end}} | ||
===Member objects=== | ===Member objects=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc mem sconst | nolink=true | {{dsc small|constexpr size_t}} table_size | the size of the internal table, {{tt|K}} }} | + | {{dsc mem sconst|nolink=true|{{dsc small|constexpr size_t}} table_size|the size of the internal table, {{tt|K}}}} |
{{dsc end}} | {{dsc end}} | ||
+ | |||
+ | ===Example=== | ||
+ | {{example}} | ||
{{langlinks|de|es|fr|it|ja|pt|ru|zh}} | {{langlinks|de|es|fr|it|ja|pt|ru|zh}} |
Revision as of 12:52, 8 February 2023
Defined in header <random>
|
||
template< class 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 (C++11)
|
std::shuffle_order_engine<std::minstd_rand0, 256> |
Contents |
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 (C++11)
|
Engine::result_type
|
Member functions
(C++11) |
constructs the engine adaptor (public member function) |
(C++11) |
sets the state of the underlying engine (public member function) |
(C++11) |
returns the underlying engine (public member function) |
Generation | |
(C++11) |
advances the state of the underlying engine and returns the generated value (public member function) |
(C++11) |
advances the adaptor's state by a specified amount (public member function) |
Characteristics | |
[static] (C++11) |
gets the smallest possible value in the output range of the underlying engine. (public static member function) |
[static] (C++11) |
gets the largest possible value in the output range of the underlying engine. (public static member function) |
Non-member functions
(C++11)(C++11)(removed in C++20) |
compares the internal states of the adaptors and underlying engines (function) |
(C++11) |
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) |
Example
This section is incomplete Reason: no example |