C++ named requirements: SeedSequence (since C++11)
From cppreference.com
A SeedSequence is an object that produces unsigned integer values i in the range 0 ≤ i < 232
based on a consumed range of integer data.
Requirements
Sis a SeedSequence type.qis an object ofSandris a potentially constant object ofS.Tis theresult_type.ib,ieare LegacyInputIterators with avalue_typeof unsigned integer values of at least 32 bits.ilis a std::initializer_list<T>.rb,reare mutable LegacyRandomAccessIterators with avalue_typeof unsigned integer values of at least 32 bits.obis a LegacyOutputIterator.
| Expression | Type | Notes | Complexity |
|---|---|---|---|
S::result_type |
T |
Unsigned integer of at least 32 bits. | Compile-time |
S() |
Creates a seed sequence with the same initial state as other default-constructed seed sequences of type S. |
Constant | |
S(ib, ie) |
Creates a seed sequence with internal state depending on some or all supplied input bits by [ib, ie). |
O(ie - ib) | |
S(il) |
The same as S(il.begin(), il.end()). |
||
q.generate(rb, re) |
void |
Fills [rb, re) with 32-bit quantities depending on the initial supplied values and potential previous calls to generate. If rb == re, it does nothing. |
O(re - rb) |
r.size() |
size_t |
The amount of 32-bit integers copied by param. |
Constant |
r.param(ob) |
void |
Copies 32-bit values to ob that would reproduce the current state of the object if passed to a constructor of S. |
O(r.size()) |