std::shuffle_order_engine
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <random>
  | 
||
|   template<     class Engine,  | 
(since C++11) | |
shuffle_order_engine is a random number engine adaptor that shuffles the random numbers generated by the base engine. It maintains a table of size K and delivers a randomly selected number from that table when requested, replacing it with a number generated by the base engine.
The following typedef defines the random number engine with one commonly used parameter set:
|   Defined in header  
<random>  | |
| Type | Definition | 
 knuth_b (C++11)
 | 
std::shuffle_order_engine<std::minstd_rand0, 256> | 
Template parameters
| Engine | - | the type of the wrapped engine | 
| K | - | the size of the internal table. Must be greater than 0. | 
| Type requirements | ||
 -Engine must meet the requirements of RandomNumberEngine.
 | ||
Member types
| Member type | Definition | 
 result_type (C++11)
 | 
 Engine::result_type
 | 
Member functions
|    (C++11)  | 
  constructs the engine adaptor  (public member function)  | 
|    (C++11)  | 
  sets the state of the underlying engine  (public member function)  | 
|    (C++11)  | 
  returns the underlying engine  (public member function)  | 
 Generation | |
|    (C++11)  | 
  advances the state of the underlying engine and returns the generated value  (public member function)  | 
|    (C++11)  | 
  advances the adaptor's state by a specified amount  (public member function)  | 
 Characteristics | |
|    [static] (C++11)  | 
  gets the smallest possible value in the output range of the underlying engine.  (public static member function)  | 
|    [static] (C++11)  | 
  gets the largest possible value in the output range of the underlying engine.  (public static member function)  | 
Non-member functions
|    (C++11)(C++11)(removed in C++20)  | 
  compares the internal states of the adaptors and underlying engines  (function)  | 
|    (C++11)  | 
  performs stream input and output on pseudo-random number engine adaptor  (function)  | 
Member objects
|    constexpr size_t table_size [static] (C++11)  | 
  the size of the internal table, K (public static member constant)  | 
Example
| This section is incomplete Reason: no example  |