C++ 具名要求:随机数引擎适配器 (RandomNumberEngineAdaptor)
随机数引擎适配器 (RandomNumberEngineAdaptor) 是变换另一随机数引擎 (RandomNumberEngine) 输出的随机数引擎 (RandomNumberEngine) ,前者被称为基引擎。
要求
给定
- B ,随机数引擎 (RandomNumberEngine)
- b , B 类型对象
- A ,适配 B 为基引擎的随机数引擎适配器 (RandomNumberEngineAdaptor)
- a , A 类型对象
函数 | 语义 |
---|---|
A::A(); | 如同以其默认构造函数初始化基引擎。 |
bool operator==(const A& lhs, const A& rhs); | 返回 lhs 的基引擎是否等于 rhs 的基引擎 |
A::A(result_type s); | 以 s 初始化基引擎。 |
template<class Sseq> A::A(Sseq& q); | 以 q 初始化基引擎。 |
void seed(); | 调用 b.seed() 。 |
void seed(result_type s); | 调用 b.seed(s) 。 |
template<class Sseq> void seed(Sseq& q); | 调用 b.seed(q) 。 |
还有
- A 的每个函数的复杂度不超出 B 的对应函数的复杂度
- A 的状态包含 B 的状态
- A 的状态大小不小于 b 的大小
- 复制 A 的状态包含复制 B 的状态
- A 的文本表示包含 B 的文本表示
标准库
下列标准库设施满足随机数引擎适配器 (RandomNumberEngineAdaptor) :
(C++11) |
舍弃随机数引擎的某些输出 (类模板) |
(C++11) |
将一个随机数引擎的输出打包为指定位数的块 (类模板) |
(C++11) |
以不同顺序发送一个随机数引擎的输出 (类模板) |