discard_block_engine Class

通过丢弃其基本引擎返回的值生成一个随机顺序。

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

参数

  • Engine
    存储的任意引擎类型。

  • P
    总的大小。

  • R
    使用的块大小。

备注

通过丢弃其基本引擎返回的某些生成值的模板选件类描述 <random>。复式引擎的每个循环通过返回基本引擎和结束连续生成的 R 值开头通过丢弃 P - R 这样的值。引擎的 state 是 stored_eng 状态将数字遵循调用发生自当前循环以来的 operator()。

模板参数 R 的值必须小于或等于模板参数 P的值。

要求

标头: <random>

命名空间: std

请参见

参考

<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