Raven Engine v0.1
Loading...
Searching...
No Matches
UUIDGenerator.h File Reference

Provides a thread-safe generator for 64-bit tagged UUIDs. More...

#include "Raven/Core/Types.h"
#include "Crux/Random/RandomEngine.h"
#include "Crux/Random/Entropy.h"
#include <mutex>

Classes

class  Raven::UUIDGenerator
 Centralized generator for 64-bit tagged UUIDs. More...

Namespaces

namespace  Raven

Enumerations

enum class  Raven::UUIDTag : u8 {
  Raven::Entity = 0x1 , Raven::Asset = 0x2 , Raven::Scene = 0x3 , Raven::Component = 0x4 ,
  Raven::General = 0xF
}
 Defines the high-level category for generated UUIDs. More...

Variables

constexpr u64 Raven::kTagBits = 4
 Number of bits reserved for the tag portion of the UUID.
constexpr u64 Raven::kTagShift = 64 - kTagBits
 Bit position shift to place the tag in the upper bits of the 64-bit value.

Detailed Description

Provides a thread-safe generator for 64-bit tagged UUIDs.

Author
PhilikusHD

This file encapsulates the generation of reproducible, tagged 64-bit UUIDs using a dedicated PCG32 engine seeded with platform entropy.