C++ 命名要求:SeedSequence (自 C++11 起)
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 是 可变 LegacyRandomAccessIterators,其 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 | 用 32 位量填充 [rb,re) ,这些量取决于初始提供的值和潜在的先前对 generate 的调用。如果 rb == re ,则不执行任何操作。 | O(re-rb ) |
r.size() | size_t | 由参数复制的 32 位整数的数量。 | 常量 |
r.param(ob) | void | 将 32 位值复制到 ob,如果将这些值传递给 S 的构造函数,它们将重现对象的当前状态。 | O(r.size() ) |