C++ 具名要求:随机数引擎适配器 (RandomNumberEngineAdaptor) (C++11 起)
来自cppreference.com
随机数引擎适配器 (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) |
以不同顺序发送一个随机数引擎的输出 (类模板) |