4#include <Foundation/Algorithm/HashingUtils.h>
13 PL_DECLARE_POD_TYPE();
19 PL_ALWAYS_INLINE
constexpr plUuid(plUInt64 uiLow, plUInt64 uiHigh)
26 PL_ALWAYS_INLINE
bool operator==(
const plUuid& other)
const;
29 PL_ALWAYS_INLINE
bool operator!=(
const plUuid& other)
const;
32 PL_ALWAYS_INLINE
bool operator<(
const plUuid& other)
const;
35 PL_ALWAYS_INLINE
bool IsValid()
const;
41 [[nodiscard]]
static plUuid MakeUuid();
44 void GetValues(plUInt64& ref_uiLow, plUInt64& ref_uiHigh)
const
46 ref_uiHigh = m_uiHigh;
54 [[nodiscard]]
static plUuid MakeStableUuidFromInt(plInt64 iInt);
57 PL_ALWAYS_INLINE
void CombineWithSeed(
const plUuid& seed);
60 PL_ALWAYS_INLINE
void RevertCombinationWithSeed(
const plUuid& seed);
63 PL_ALWAYS_INLINE
void HashCombine(
const plUuid& hash);
66 friend PL_FOUNDATION_DLL_FRIEND
void operator>>(
plStreamReader& inout_stream,
plUuid& ref_value);
67 friend PL_FOUNDATION_DLL_FRIEND
void operator<<(
plStreamWriter& inout_stream,
const plUuid& value);
69 plUInt64 m_uiHigh = 0;
73#include <Foundation/Types/Implementation/Uuid_inl.h>
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
This data type is the abstraction for 128-bit Uuid (also known as GUID) instances.
Definition Uuid.h:11
static PL_ALWAYS_INLINE plUuid MakeInvalid()
Returns an invalid UUID.
Definition Uuid.h:38
void GetValues(plUInt64 &ref_uiLow, plUInt64 &ref_uiHigh) const
Returns the internal 128 Bit of data.
Definition Uuid.h:44
PL_ALWAYS_INLINE plUuid()=default
Default constructor. Constructed Uuid will be invalid.
PL_ALWAYS_INLINE constexpr plUuid(plUInt64 uiLow, plUInt64 uiHigh)
Constructs the Uuid from existing values.
Definition Uuid.h:19