C++ concepts: SeedSequence
From cppreference.com
                    
                                        
                    
                    
                                                            
                    A seed sequence is an object that produces unsigned integer values i in the range 0 ≤ i < 232
 based on a consumed range of integer data.
[edit] Requirements
- 
Sis a SeedSequence. - 
qis an object ofSandris a potentially constant object ofS. - 
Tis theresult_type. - 
ib,ieareInputIterators with avalue_typeof unsigned integer values of at least 32 bits. - 
ilis an std::initializer_list<T>. - 
rb,reare mutableRandomAccessIterators with avalue_typeof unsigned integer values of at least 32 bits. - 
obis anOutputIterator. 
| 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 default values as other objects of type S
 | 
constant | |
S(ib,ie) | 
Creates a seed sequence based on the 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  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()) |