CLASS TEMPLATE(3)

NAME
boost::random::discard_block

SYNOPSIS

// In header: <boost/random/discard_block.hpp>
template<typename UniformRandomNumberGenerator, unsigned int p,
         unsigned int r>
class discard_block {
public:
  // types
  typedef UniformRandomNumberGenerator base_type;
  typedef base_type::result_type       result_type;
  // construct/copy/destruct
  discard_block();
  discard_block(const base_type &);
  template<typename T> discard_block(T);
  template<typename It> discard_block(It &, It);
  // public member functions
  void seed();
  template<typename T> void seed(T);
  template<typename It> void seed(It &, It);
  const base_type & base() const;
  result_type operator()();
  result_type min() const;
  result_type max() const;
  // public static functions
  static bool validation(result_type);
  static const bool has_fixed_range;
  static const unsigned int total_block;
  static const unsigned int returned_block;
};

DESCRIPTION

The class template discard_block is a model of pseudo-random number generator . It modifies another generator by discarding parts of its output. Out of every block of r results, the first p will be returned and the rest discarded.

Requires: 0 < p <= r

  discard_block public construct/copy/destruct

    1.

    discard_block();

    2.

    discard_block(const base_type & rng);

    3.

    template<typename T> discard_block(T s);

    4.

    template<typename It> discard_block(It & first, It last);

  discard_block public member functions

    1.

    void seed();

    2.

    template<typename T> void seed(T s);

    3.

    template<typename It> void seed(It & first, It last);

    4.

    const base_type & base() const;

    5.

    result_type operator()();

    6.

    result_type min() const;

    7.

    result_type max() const;

  discard_block public static functions

    1.

    static bool validation(result_type x);