C++ 具名要求:种子序列 (SeedSequence) (C++11 起)
来自cppreference.com
种子序列 (SeedSequence) 是一种对象,它基于所消费的整数数据范围,产生范围 0 ≤ i < 232
中的无符号整数值 i。
要求
S
是一种(种子序列 (SeedSequence) )类型。q
是S
的对象且r
是S
的潜在常对象。T
为result_type
。ib
、ie
是老式输入迭代器 (LegacyInputIterator) ,其value_type
为至少 32 位的无符号整数值。il
是一个 std::initializer_list<T>。rb
、re
是可变老式随机访问迭代器 (LegacyRandomAccessIterator) ,其value_type
为至少 32 位的无符号整数值。ob
是老式输出迭代器 (LegacyOutputIterator) 。
表达式 | 类型 | 注意 | 复杂度 |
---|---|---|---|
S::result_type |
T |
至少 32 位的无符号整数 | 编译时 |
S() |
创建拥有与其他默认构造的 S 类型的种子序列具有相同初始状态的种子序列 |
常数 | |
S(ib,ie) |
创建一个种子序列,其初始状态依赖于 [ ib, ie) 所提供的部分或全部输入位 |
O(ie - ib) | |
S(il) |
同 S(il.begin(), il.end()) |
||
q.generate(rb,re) |
void |
以依赖所提供的初始值和潜在的对 generate 的先前调用的一组 32 位数量填充 [ rb, re) 。若 rb == re 则不做任何事。 |
O(re - rb) |
r.size() |
size_t |
param 所复制的 32 位整数的量。 |
常数 |
r.param(ob) |
void |
复制 32 位值到 ob ,若将其传递给 S 的构造函数则会重生成对象当前状态。 |
O(r.size()) |