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 togenerate. Ifrb == 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 obthat would reproduce the current state of the object if passed to a constructor ofS. | O(r.size()) |