Aikido
|
Implementation of the C++11 "random engine" concept that uses virtual function calls to erase the type of the underlying random engine. More...
#include <aikido/common/RNG.hpp>
Public Types | |
using | result_type = std::uint32_t |
Public Member Functions | |
virtual | ~RNG ()=default |
virtual result_type | operator() ()=0 |
Advances the state of the engine and returns the generated value. More... | |
virtual void | discard (unsigned long long _z)=0 |
Advances the adaptor's state by a specified amount. More... | |
virtual std::unique_ptr< RNG > | clone () const =0 |
Create a copy of this RNG, including its internal state. More... | |
virtual std::unique_ptr< RNG > | clone (result_type _seed) const =0 |
Create a new RNG of this type with the specified seed. More... | |
Static Public Member Functions | |
static constexpr result_type | min () |
Gets the smallest possible value in the output range, always zero. More... | |
static constexpr result_type | max () |
Gets the largest possible value in the output range, 2^NUM_BITS - 1. More... | |
Static Public Attributes | |
static constexpr std::size_t | NUM_BITS {32} |
Number of bits the generated numbers should have. More... | |
Implementation of the C++11 "random engine" concept that uses virtual function calls to erase the type of the underlying random engine.
using aikido::common::RNG::result_type = std::uint32_t |
|
virtualdefault |
|
pure virtual |
Create a copy of this RNG, including its internal state.
Implemented in aikido::common::RNGWrapper< T >.
|
pure virtual |
Create a new RNG of this type with the specified seed.
_seed | new sed |
Implemented in aikido::common::RNGWrapper< T >.
|
pure virtual |
Advances the adaptor's state by a specified amount.
_z | amount of state to discard |
Implemented in aikido::common::RNGWrapper< T >.
|
staticconstexpr |
Gets the largest possible value in the output range, 2^NUM_BITS - 1.
|
staticconstexpr |
Gets the smallest possible value in the output range, always zero.
|
pure virtual |
Advances the state of the engine and returns the generated value.
Implemented in aikido::common::RNGWrapper< T >.
|
staticconstexpr |
Number of bits the generated numbers should have.
Derived types are responsible for providing numbers in this range, if necessary, by wrapping their engine in a std::independent_bits_engine.