discard_block_engine Class

Génère une séquence aléatoire en ignorant les valeurs retournées par le moteur de 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;
    };

Paramètres

  • Engine
    Le type aléatoire stocké du moteur.

  • P
    La taille totale des blocs.

  • R
    La taille des blocs utilisée.

Notes

La classe de modèle décrit <random> qui produit des valeurs en ignorant certaines valeurs retournées par le moteur de base.Chaque cycle du moteur compound démarre en retournant des valeurs d' R successivement produites par le moteur et les conseils de base en ignorant P - R de ces valeurs.state du moteur est l'état d' stored_eng suivi du nombre d'appels à operator() qui se sont produits depuis le début du cycle actuel.

La valeur de l'argument template R doit être inférieur ou égal à la valeur de l'argument template P.

Configuration requise

en-tête : <random>

l'espace de noms : DST

Voir aussi

Référence

<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