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

std::discard_block_engine

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.

Contents

[edit] Template parameters

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.

[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 constants

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)

[edit] Example