Freigeben über


discard_block_engine Class

Generiert eine zufällige Sequenz durch Verwerfen von den Werten, die durch das Modul niedriges zurückgegeben werden.

template<class Engine,
    int P, int R>
    class discard_block_engine {
public:
    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_engine();
    explicit discard_block_engine(const base_type& eng);
    explicit discard_block_engine(result_type x0);
    explicit discard_block_engine(seed_seq& seq);
    void seed();
    void seed(result_type x0);
    void seed(seed_seq& seq);
    const base_type& base() const;
    static const result_type min();
    static const result_type max();
    result_type operator()();
    void discard(unsigned long long count);
private:
    Engine stored_eng;
    int count;
    };

Parameter

  • Engine
    Der gespeicherte zufällige Motortyp.

  • P
    Die gesamte Blockgröße.

  • R
    Die verwendete Blockgröße.

Hinweise

Die Vorlagenklasse beschreibt <random>, die - 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.state 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

Siehe auch

Referenz

<random>

discard_block_engine::base

discard_block_engine::base_type

discard_block_engine::discard

discard_block_engine::discard_block_engine

discard_block_engine::operator()

discard_block_engine::seed