discard_block Class

Génère une séquence aléatoire en ignorant les valeurs retournées par le moteur de base.Conservé pour la compatibilité TR1.Utilisez plutôt 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
   };

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 un moteur compound 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.L'état 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::base

discard_block::base_type

discard_block::discard_block

discard_block::operator()

discard_block::seed