Defined in header <random> | ||
---|---|---|
template< class Engine, std::size_t P, std::size_t R > class discard_block_engine; | (since C++11) |
discard_block_engine
is a pseudo-random number engine adaptor that discards a certain amount of data produced by the base engine. From each block of size P
generated by the base engine, the adaptor keeps only R
numbers, discarding the rest.
Engine | - | the type of the wrapped engine. |
P | - | the size of a block. Expected that \(\small{P>0}\)P > 0. |
R | - | the number of used numbers per block. Expected that \(\small{0<R\le P}\)0 < R ≤ P. |
Type requirements | ||
-Engine must meet the requirements of RandomNumberEngine. |
Member type | Definition |
---|---|
result_type (C++11) | Engine::result_type |
(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) |
(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) |
constexpr size_t block_size
[static] (C++11) | the size of the block, P (public static member constant) |
constexpr size_t used_block
[static] (C++11) | the number of used numbers per block, R (public static member constant) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/numeric/random/discard_block_engine