fpmas 1.6
Public Member Functions | List of all members
fpmas::random::Generator< std::random_device > Class Reference

#include <generator.h>

Inheritance diagram for fpmas::random::Generator< std::random_device >:
Inheritance graph
[legend]
Collaboration diagram for fpmas::random::Generator< std::random_device >:
Collaboration graph
[legend]

Public Member Functions

 Generator ()
 
 Generator (std::random_device::result_type)
 
 Generator (const Generator< std::random_device > &)
 
 Generator (Generator< std::random_device > &&)
 
Generator< std::random_device > & operator= (const Generator< std::random_device > &)
 
Generator< std::random_device > & operator= (Generator< std::random_device > &&)
 
void seed (std::random_device::result_type) override
 
void discard (unsigned long long) override
 
- Public Member Functions inherited from fpmas::random::UniformRandomBitGenerator< std::random_device >
result_type operator() () override
 
- Public Member Functions inherited from fpmas::api::random::Generator< Generator_t::result_type >
virtual Generator_t::result_type operator() ()=0
 
virtual void seed (Generator_t::result_type seed)=0
 
virtual void discard (unsigned long long z)=0
 

Additional Inherited Members

- Public Types inherited from fpmas::api::random::Generator< Generator_t::result_type >
typedef Generator_t::result_type result_type
 
- Static Public Member Functions inherited from fpmas::random::UniformRandomBitGenerator< std::random_device >
static constexpr result_type min ()
 
static constexpr result_type max ()
 
- Protected Attributes inherited from fpmas::random::UniformRandomBitGenerator< std::random_device >
std::random_device gen
 

Detailed Description

std::random_device Generator specialization.

Seeding this genererator has no effect but methods are still define to preserve API compatibility (Generator<std::random_device> is a concrete api::random::Generator implementation).

Constructor & Destructor Documentation

◆ Generator() [1/4]

fpmas::random::Generator< std::random_device >::Generator ( )
inline

Generator default constructor.

◆ Generator() [2/4]

fpmas::random::Generator< std::random_device >::Generator ( std::random_device::result_type  )
inline

Defines a constructor that accept a seed, but has no effect.

◆ Generator() [3/4]

fpmas::random::Generator< std::random_device >::Generator ( const Generator< std::random_device > &  )
inline

Generator<std::random_device> specialization copy constructor.

Does not copy the internal std::random_device, since the next generated values in non-deterministic anyway.

◆ Generator() [4/4]

fpmas::random::Generator< std::random_device >::Generator ( Generator< std::random_device > &&  )
inline

Generator<std::random_device> specialization copy constructor.

Does not move the internal std::random_device, since the next generated values in non-deterministic anyway.

Member Function Documentation

◆ operator=() [1/2]

Generator< std::random_device > & fpmas::random::Generator< std::random_device >::operator= ( const Generator< std::random_device > &  )
inline

Generator<std::random_device> specialization copy assignment operator.

Does not copy assign the internal std::random_device, since the next generated values in non-deterministic anyway.

◆ operator=() [2/2]

Generator< std::random_device > & fpmas::random::Generator< std::random_device >::operator= ( Generator< std::random_device > &&  )
inline

Generator<std::random_device> specialization move assignment operator.

Does not move assign the internal std::random_device, since the next generated values in non-deterministic anyway.

◆ seed()

void fpmas::random::Generator< std::random_device >::seed ( std::random_device::result_type  )
inlineoverride

No effect in the case of the random_device generator.

◆ discard()

void fpmas::random::Generator< std::random_device >::discard ( unsigned long long  )
inlineoverridevirtual

No effect in the case of the random_device generator.

Implements fpmas::api::random::Generator< Generator_t::result_type >.


The documentation for this class was generated from the following file: