C++ 具名要求:随机数引擎适配器 (RandomNumberEngineAdaptor)

来自cppreference.com
< cpp‎ | named req
 
 
C++ 具名要求
基础
类型属性
库所属
容器
容器元素
(C++11)

迭代器
流 I/O
格式化
(C++20)
随机数
(C++11)    
RandomNumberEngineAdaptor
(C++11)

并发
(C++11)
(C++11)
范围
其他
(C++11)


 

随机数引擎适配器 (RandomNumberEngineAdaptor) 是变换另一随机数引擎 (RandomNumberEngine) 输出的随机数引擎 (RandomNumberEngine) ,前者被称为基引擎

要求

给定

函数 语义
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)

舍弃随机数引擎的某些输出
(类模板)
将一个随机数引擎的输出打包为指定位数的块
(类模板)
以不同顺序发送一个随机数引擎的输出
(类模板)