| Home | Libraries | People | FAQ | More

## Class template discard_block

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