Template Class RandomNumberEngineWrapper

Inheritance Relationships

Base Type

Class Documentation

template<typename TEngine>
class RandomNumberEngineWrapper : public navtk::experimental::RandomNumberGenerator

Wrapper implementing RandomNumberGenerator based on the C++ RandomNumberEngine named requirements.

This provides the boilerplate to allow navtk to use any conforming implementation of RandomNumberEngine as its source of randomness.

This class uses std::uniform_real_distribution to convert the values emitted by TEngine<> to double.

Public Functions

inline RandomNumberEngineWrapper()

Default constructor.

inline virtual double rand() override
Returns

A single random number from a uniform distribution between 0 and 1.

inline virtual void seed(uint64_t seed) override

Reset the state of the underlying random number generation algorithm.

Parameters

seed – New seed value.

Public Members

TEngine engine

Underlying C++-style RandomNumberEngine instance.

std::uniform_real_distribution<double> converter

Conversion class to convert the engine’s integer output to doubles.