Skip to main content

Guid Class

Representative of a Globally Unique Identifier. More...

Declaration

class helios::util::Guid { ... }

Private Constructors Index

Guid (uint64_t value) noexcept

Public Operators Index

constexpr booloperator== (const Guid &guid) const =default

Compares two Guid instances for equality. More...

constexpr booloperator!= (const Guid &guid) const =default

Compares two Guid instances for inequality. More...

constexpr booloperator< (const Guid &guid) const noexcept

Less-than comparison operator, enabling ordering of Guid instances. More...

constexpr booloperator> (const Guid &guid) const noexcept

Greater-than comparison operator, enabling ordering of Guid instances. More...

Public Member Functions Index

constexpr uint64_tvalue () const noexcept

Returns the raw 64-bit value of this Guid. More...

std::size_thash () const noexcept

Calculates a hash fot this GUID. More...

Private Member Attributes Index

uint64_tvalue_

Public Static Functions Index

static Guidgenerate () noexcept

Generates a new Guid. More...

Description

Representative of a Globally Unique Identifier.

Generating GUIDs with this class is considered thread-safe.

Definition at line 21 of file Guid.ixx.

Private Constructors

Guid()

helios::util::Guid::Guid (uint64_t value)
explicit noexcept

Definition at line 23 of file Guid.ixx.

Public Operators

operator!=()

bool helios::util::Guid::operator!= (const Guid & guid)
constexpr default

Compares two Guid instances for inequality.

Parameters
guid

The Guid to compare against.

Returns

`true` if the Guids have different underlying values, `false` otherwise.

Definition at line 44 of file Guid.ixx.

operator<()

bool helios::util::Guid::operator< (const Guid & guid)
inline constexpr noexcept

Less-than comparison operator, enabling ordering of Guid instances.

Parameters
guid

The Guid to compare against.

Returns

`true` if this Guid's value is less than the other, `false` otherwise.

Definition at line 53 of file Guid.ixx.

53 constexpr bool operator<(const Guid& guid) const noexcept {
54 return value_ < guid.value();
55 }

operator==()

bool helios::util::Guid::operator== (const Guid & guid)
constexpr default

Compares two Guid instances for equality.

Parameters
guid

The Guid to compare against.

Returns

`true` if both Guids have the same underlying value, `false` otherwise.

Definition at line 35 of file Guid.ixx.

operator>()

bool helios::util::Guid::operator> (const Guid & guid)
inline constexpr noexcept

Greater-than comparison operator, enabling ordering of Guid instances.

Parameters
guid

The Guid to compare against.

Returns

`true` if this Guid's value is greater than the other, `false` otherwise.

Definition at line 64 of file Guid.ixx.

64 constexpr bool operator>(const Guid& guid) const noexcept {
65 return value_ > guid.value();
66 }

Public Member Functions

hash()

std::size_t helios::util::Guid::hash ()
inline nodiscard noexcept

Calculates a hash fot this GUID.

The hash simply defaults to the value_ of this Guid.

Returns

The hash value for this Guid.

Definition at line 95 of file Guid.ixx.

95 [[nodiscard]] std::size_t hash() const noexcept {
96 return std::hash<uint64_t>{}(value_);
97 }

value()

uint64_t helios::util::Guid::value ()
inline nodiscard constexpr noexcept

Returns the raw 64-bit value of this Guid.

Returns

The underlying uint64_t value representing this Guid.

Definition at line 84 of file Guid.ixx.

84 [[nodiscard]] constexpr uint64_t value() const noexcept {
85 return value_;
86 }

Reference value.

Referenced by value.

Private Member Attributes

value_

uint64_t helios::util::Guid::value_

Definition at line 24 of file Guid.ixx.

24 uint64_t value_;

Public Static Functions

generate()

Guid helios::util::Guid::generate ()
noexcept static

Generates a new Guid.

This function produces a new, unique Guid value. It is safe to call from multiple threads.

Returns

A newly generated `Guid` instance.

Definition at line 77 of file Guid.ixx.


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


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.