Freigeben über


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

Siehe auch

Referenz

<random>

discard_block::base

discard_block::base_type

discard_block::discard_block

discard_block::operator()

discard_block::seed