6namespace StevEngine::Utilities {
82 const uint8_t* GetRaw()
const {
return raw; }
89template<>
struct std::hash<StevEngine::Utilities::ID> {
97 std::hash<uint8_t> hasher;
98 auto values = k.GetRaw();
99 for (uint8_t i = 0; i < 16; i++) {
100 result = result * 31 + hasher(values[i]);
UUID-based unique identifier.
Definition ID.hpp:13
static ID empty
Null/empty ID value.
Definition ID.hpp:80
bool operator==(const ID &other) const
Equality comparison.
Definition ID.cpp:68
const char * GetString() const
Get string representation.
Definition ID.cpp:18
ID & operator=(const ID &other)
Assignment operator.
Definition ID.cpp:63
bool IsNull() const
Check if ID is null/empty.
Definition ID.cpp:61
bool operator<(const ID &other) const
Less than comparison for sorting.
Definition ID.cpp:75
bool operator()(const ID &lhs, const ID &rhs) const
Compare function for containers.
Definition ID.cpp:83
ID()
Generate new random UUID.
Definition ID.cpp:24
std::size_t operator()(const StevEngine::Utilities::ID &k) const
Hash function for ID.
Definition ID.hpp:95