[*] Allocless RNG devices
This commit is contained in:
parent
95643d6e19
commit
8fd4ef0a71
@ -9,6 +9,8 @@
|
||||
|
||||
namespace Aurora::RNG
|
||||
{
|
||||
static const auto kSizeRNGDevice = 256;
|
||||
|
||||
struct IRandomDevice
|
||||
{
|
||||
virtual void Read(Memory::MemoryViewWrite view) = 0;
|
||||
@ -94,5 +96,7 @@ namespace Aurora::RNG
|
||||
}
|
||||
};
|
||||
|
||||
AUKN_SHARED_API(Random, IRandomDevice, const RandomDef &def);
|
||||
AUKN_SHARED_SOO2(Random, IRandomDevice, kSizeRNGDevice,
|
||||
((const RandomDef &, def)),
|
||||
const RandomDef &def);
|
||||
}
|
@ -10,6 +10,16 @@
|
||||
|
||||
namespace Aurora::RNG
|
||||
{
|
||||
RandomDevice::RandomDevice()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
RandomDevice::RandomDevice(const RandomDef &def)
|
||||
{
|
||||
this->Init(def);
|
||||
}
|
||||
|
||||
void RandomDevice::Init(const RandomDef &def)
|
||||
{
|
||||
this->def_ = def;
|
||||
@ -172,4 +182,6 @@ namespace Aurora::RNG
|
||||
{
|
||||
AuSafeDelete<RandomDevice *>(pDevice);
|
||||
}
|
||||
|
||||
AUROXTL_INTERFACE_SOO_SRC(Random, RandomDevice, (const RandomDef &, def))
|
||||
}
|
@ -13,6 +13,9 @@ namespace Aurora::RNG
|
||||
{
|
||||
struct RandomDevice : IRandomDevice
|
||||
{
|
||||
RandomDevice();
|
||||
RandomDevice(const RandomDef & def);
|
||||
|
||||
void Read(Memory::MemoryViewWrite view) override;
|
||||
|
||||
AuString NextString(AuUInt32 uLength, ERngStringCharacters type) override;
|
||||
|
Loading…
Reference in New Issue
Block a user