通过丢弃其基本引擎返回的值生成一个随机顺序。
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
请参见
参考
discard_block_engine::base_type
discard_block_engine::discard_block_engine