Condividi tramite


discard_block_engine Class

Genera una sequenza casuale rimuovendo i valori restituiti nel motore di base.

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;
    };

Parametri

  • Engine
    Il tipo casuale archiviato il motore.

  • P
    La dimensione di un blocco totale.

  • R
    La dimensione di un blocco utilizzata.

Note

La classe modello viene descritto <random> che produce valori rimuovendo i valori restituiti nel motore di base.Ogni ciclo del motore composto inizia a restituire i valori R avanti prodotti dal motore di base e termina rimozione P - R tali valori.state del motore è lo stato stored_eng seguita dal numero di chiamate a operator() apportate dall'inizio del ciclo corrente.

Il valore dell'argomento di modello R sia minore o uguale al valore dell'argomento di modello P.

Requisiti

intestazione: <random>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

<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