discard_block Class
Generiert eine zufällige Sequenz durch Verwerfen von den Werten, die durch das Modul niedriges zurückgegeben werden.Beibehalten für Kompatibilität TR1.Verwenden Sie stattdessen discard_block_engine Class.
template<class Engine,
int P, int R>
class discard_block {
public:
typedef discard_block<Engine, P, R> _MyT;
typedef Engine base_type;
typedef typename base_type::result_type result_type;
static const int block_size = P;
static const int used_block = R;
discard_block();
discard_block(const discard_block& right);
discard_block(discard_block& right);
explicit discard_block(const base_type& eng);
explicit discard_block(result_type seed);
template<class Gen>
discard_block(Gen& gen);
void seed();
template<class Gen>
void seed(Gen& gen);
const base_type& base() const;
result_type min() const;
result_type max() const;
result_type operator()();
private:
Engine stored_eng; // exposition only
int count; // exposition only
};
Parameter
Engine
Der gespeicherte zufällige Motortyp.P
Die gesamte Blockgröße.R
Die verwendete Blockgröße.
Hinweise
Die Vorlagenklasse beschreibt ein Verbundmodul, das Werte erzeugt, indem einige Werte verworfen werden, die durch das Modul niedriges zurückgegeben werden.Jeder Zyklus des Verbundmoduls beginnt, indem er R-Werte zurückgibt, die nacheinander von der Basisklasse des Modul und die Enden, indem er P - R solche Werte erzeugt werden verworfen.Der Zustand des Moduls ist der Zustand von stored_eng gefolgt von der Anzahl der Aufrufe operator(), die seit dem Beginn des aktuellen Zyklus aufgetreten sind.
Der Wert des Vorlagenarguments R muss kleiner oder gleich dem Wert des Vorlagenarguments P sein.
Anforderungen
Header: <random>
Namespace: std