29 #include <ignite/common/common.h>
36 class IGNITE_IMPORT_EXPORT
Guid
50 Guid(int64_t most, int64_t least);
57 int64_t GetMostSignificantBits()
const;
64 int64_t GetLeastSignificantBits()
const;
78 int32_t GetVersion()
const;
92 int32_t GetVariant()
const;
99 int32_t GetHashCode()
const;
116 int64_t Compare(
const Guid& other)
const;
197 << std::setfill<C>(
'0') << std::setw(8) << part1 <<
'-'
198 << std::setfill<C>(
'0') << std::setw(4) << part2 <<
'-'
199 << std::setfill<C>(
'0') << std::setw(4) << part3 <<
'-'
200 << std::setfill<C>(
'0') << std::setw(4) << part4 <<
'-'
201 << std::setfill<C>(
'0') << std::setw(12) << part5 << std::dec;
220 for (
int i = 0; i < 4; ++i)
222 is >> std::hex >> parts[i] >> delim;
224 if (delim !=
static_cast<C
>(
'-'))
228 is >> std::hex >> parts[4];
230 guid =
Guid((parts[0] << 32) | (parts[1] << 16) | parts[2], (parts[3] << 48) | parts[4]);