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 of- Sand- ris a potentially constant object of- S.
- Tis the- result_type.
- ib,- ieare LegacyInputIterators with a- value_typeof unsigned integer values of at least 32 bits.
- ilis an std::initializer_list<T>.
- rb,- reare mutable LegacyRandomAccessIterators with a- value_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 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()) |