libyggdrasil  v1.0.0
bsp::drv::Random< Context, RandomImpl > Struct Template Reference

Base class for the RNG abstraction. More...

#include <rng.hpp>

Public Types

using Impl = RandomImpl< Context >
 

Public Member Functions

 Random ()=delete
 
 Random (const Random &)=delete
 
auto operator= (const Random &)=delete
 

Static Public Member Functions

static auto init (auto ... args)
 RNG initialization. More...
 
static auto deinit (auto ... args)
 RNG deinitialization. More...
 
template<typename T >
static T get ()
 Get random values seeded by true entropy. More...
 

Detailed Description

template<auto Context, template< addr_t > typename RandomImpl>
struct bsp::drv::Random< Context, RandomImpl >

Base class for the RNG abstraction.

Template Parameters
ContextRNG context
RandomImplRandom Implementation

Member Typedef Documentation

◆ Impl

template<auto Context, template< addr_t > typename RandomImpl>
using bsp::drv::Random< Context, RandomImpl >::Impl = RandomImpl<Context>

Constructor & Destructor Documentation

◆ Random() [1/2]

template<auto Context, template< addr_t > typename RandomImpl>
bsp::drv::Random< Context, RandomImpl >::Random ( )
delete

◆ Random() [2/2]

template<auto Context, template< addr_t > typename RandomImpl>
bsp::drv::Random< Context, RandomImpl >::Random ( const Random< Context, RandomImpl > &  )
delete

Member Function Documentation

◆ deinit()

template<auto Context, template< addr_t > typename RandomImpl>
static auto bsp::drv::Random< Context, RandomImpl >::deinit ( auto ...  args)
inlinestatic

RNG deinitialization.

Parameters
argsPlatform specific arguments
Returns
Success

◆ get()

template<auto Context, template< addr_t > typename RandomImpl>
template<typename T >
static T bsp::drv::Random< Context, RandomImpl >::get ( )
inlinestatic

Get random values seeded by true entropy.

Template Parameters
TType of data to get. Must be default and trivially constructible

◆ init()

template<auto Context, template< addr_t > typename RandomImpl>
static auto bsp::drv::Random< Context, RandomImpl >::init ( auto ...  args)
inlinestatic

RNG initialization.

Parameters
argsPlatform specific arguments
Returns
Success

◆ operator=()

template<auto Context, template< addr_t > typename RandomImpl>
auto bsp::drv::Random< Context, RandomImpl >::operator= ( const Random< Context, RandomImpl > &  )
delete

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