28 #include <ignite/common/common.h>
35 class IGNITE_IMPORT_EXPORT
Guid
49 Guid(int64_t most, int64_t least);
56 int64_t GetMostSignificantBits()
const;
63 int64_t GetLeastSignificantBits()
const;
77 int32_t GetVersion()
const;
91 int32_t GetVariant()
const;
98 int32_t GetHashCode()
const;
115 int64_t Compare(
const Guid& other)
const;
196 << std::setfill<C>(
'0') << std::setw(8) << part1 <<
'-'
197 << std::setfill<C>(
'0') << std::setw(4) << part2 <<
'-'
198 << std::setfill<C>(
'0') << std::setw(4) << part3 <<
'-'
199 << std::setfill<C>(
'0') << std::setw(4) << part4 <<
'-'
200 << std::setfill<C>(
'0') << std::setw(12) << part5 << std::dec;
219 for (
int i = 0; i < 4; ++i)
221 is >> std::hex >> parts[i] >> delim;
223 if (delim !=
static_cast<C
>(
'-'))
227 is >> std::hex >> parts[4];
229 guid =
Guid((parts[0] << 32) | (parts[1] << 16) | parts[2], (parts[3] << 48) | parts[4]);