[rand.req.seedseq] (original) (raw)
A class Smeets the requirements of a seed sequence if the expressions shown in Table 126are valid and have the indicated semantics, and if S also meets all other requirements of [rand.req.seedseq].
In Table 126 and throughout this subclause:
- T is the type named byS's associated result_type;
- q is a value of type S andr is a value of type S or const S;
- ib and ie are input iterators with an unsigned integer value_type of at least 32 bits;
- rb and re are mutable random access iterators with an unsigned integer value_type of at least 32 bits;
- ob is an output iterator; and
- il is a value of type initializer_list<T>.
Table 126 β Seed sequence requirements [tab:rand.req.seedseq]
| πExpression | Return type | Pre/post-condition | Complexity |
|---|---|---|---|
| πSβ::βresult_type | T | T is an unsigned integer type of at least 32 bits. | |
| πS() | Creates a seed sequence with the same initial state as all other default-constructed seed sequences of type S. | constant | |
| πS(ib,ie) | Creates a seed sequence having internal state that depends on some or all of the bits of the supplied sequence [ib,ie). | ||
| πS(il) | Same as S(il.begin(), il.end()). | same as S(il.begin(), il.end()) | |
| πq.generate(rb,re) | void | Does nothing if rb == re. Otherwise, fills the supplied sequence [rb,re) with 32-bit quantities that depend on the sequence supplied to the constructor and possibly also depend on the history of generate's previous invocations. | |
| πr.size() | size_t | The number of 32-bit units that would be copied by a call to r.param. | constant |
| πr.param(ob) | void | Copies to the given destination a sequence of 32-bit units that can be provided to the constructor of a second object of type S, and that would reproduce in that second object a state indistinguishable from the state of the first object. |