std::independent_bits_engine
From cppreference.com
Defined in header <random>


template< class Engine, 
(since C++11)  
independent_bits_engine
is a random number engine adaptor that produces random numbers with different number of bits than that of the wrapped engine.
Template parameters
Engine    the type of the wrapped engine 
W    the number of bits the generated numbers should have 
UIntType    the type of the generated random numbers. The type must be unsigned integral type. 
Type requirements  
Engine must meet the requirements of RandomNumberEngine.
 
W must be greater than zero, and no greater than std::numeric_limits<UIntType>::digits.

Member types
Member type  Definition 
result_type

UIntType 
Member functions
constructs the engine adaptor (public member function)  
sets the state of the underlying engine (public member function)  
returns the underlying engine (public member function)  
Generation  
advances the state of the underlying engine and returns the generated value (public member function)  
advances the adaptor's state by a specified amount (public member function)  
Characteristics  
[static] 
gets the smallest possible value in the output range (always zero). (public static member function) 
[static] 
gets the largest possible value in the output range (always 2w 1). (public static member function) 
Nonmember functions
compares the internal states of the adaptors and underlying engines (function)  
performs stream input and output on pseudorandom number engine adaptor (function) 