BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bslh::SeedGenerator< RANDOM_NUM_GEN > Class Template Reference

#include <bslh_seedgenerator.h>

Inheritance diagram for bslh::SeedGenerator< RANDOM_NUM_GEN >:

Public Member Functions

 SeedGenerator ()
 
 SeedGenerator (const RANDOM_NUM_GEN &randomNumberGenerator)
 
 SeedGenerator (const SeedGenerator &original)=default
 
 ~SeedGenerator ()=default
 
SeedGeneratoroperator= (const SeedGenerator &rhs)=default
 
void generateSeed (char *seedLocation, size_t seedLength)
 

Detailed Description

template<class RANDOM_NUM_GEN>
class bslh::SeedGenerator< RANDOM_NUM_GEN >

This class template implements a seed generator which takes a user supplied random number generator and uses it to generate an arbitrary length seed. Note that this type inherits from the (template parameter) type RANDOM_NUM_GEN to take advantage of the empty-base optimization.

Constructor & Destructor Documentation

◆ SeedGenerator() [1/3]

template<class RANDOM_NUM_GEN >
bslh::SeedGenerator< RANDOM_NUM_GEN >::SeedGenerator ( )
inline

Create a bslh::SeedGenerator that will default construct the parameterized RNG and use it to generate its seeds.

◆ SeedGenerator() [2/3]

template<class RANDOM_NUM_GEN >
bslh::SeedGenerator< RANDOM_NUM_GEN >::SeedGenerator ( const RANDOM_NUM_GEN &  randomNumberGenerator)
inlineexplicit

Create a bslh::SeedGenerator that will use the specified randomNumberGenerator to generate its seeds.

◆ SeedGenerator() [3/3]

template<class RANDOM_NUM_GEN >
bslh::SeedGenerator< RANDOM_NUM_GEN >::SeedGenerator ( const SeedGenerator< RANDOM_NUM_GEN > &  original)
default

◆ ~SeedGenerator()

template<class RANDOM_NUM_GEN >
bslh::SeedGenerator< RANDOM_NUM_GEN >::~SeedGenerator ( )
default

Member Function Documentation

◆ generateSeed()

template<class RANDOM_NUM_GEN >
void bslh::SeedGenerator< RANDOM_NUM_GEN >::generateSeed ( char *  seedLocation,
size_t  seedLength 
)
inline

Generate a seed of the specified seedLength bytes and store it at the specified seedLocation. The seed will be generated with bytes from the random number generator supplied at construction. All of the returned bytes will come from the RNG, meaning if the requested seed is larger than the return type of the RNG, the RNG will be called multiple times. The behaviour is undefined unless the memory at seedLocation can store seedLength bytes.

◆ operator=()

template<class RANDOM_NUM_GEN >
SeedGenerator & bslh::SeedGenerator< RANDOM_NUM_GEN >::operator= ( const SeedGenerator< RANDOM_NUM_GEN > &  rhs)
default

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