C++ named requirements: SeedSequence
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 an std::initializer_list<T>.rb,reare mutable LegacyRandomAccessIterators with avalue_typeof unsigned integer values of at least 32 bits.obis an 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 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 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()) |