C++ 命名需求: SeedSequence (自 C++11 起)
来自 cppreference.com
一个 SeedSequence 是一个对象,它基于消耗的整数数据范围,生成范围在 i 在范围 0 ≤ i < 232
内的无符号整数值。
[编辑] 需求
S
是一个 SeedSequence 类型。q
是S
的一个对象,r
是S
的一个可能为常量的对象。T
是result_type
。ib
、ie
是 LegacyInputIterators,其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 |
使用初始提供的数值以及对 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()) |