C++ 具名要求:种子序列 (SeedSequence)
来自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 位值,到若传递给 S 的构造函数则会重生成对象当前状态的 ob 。 |
O(r.size()) |