106 static std::mutex _mutex;
109 static std::atomic_bool _seeded;
112 static std::map<
UUID::Version, std::function<
UUID(
const std::string&)>> _providers;
124 uint16_t _clockSeqLow;
127 uint16_t _clockSeqHighRes;
182 uint16_t clockSeqLow,
183 uint16_t clockSeqHighRes,
251 static std::uniform_int_distribution<uint16_t>&
getDistSeq();
267 void parse(
const std::string& uuid);
280 static void registerRandomUUID();
289 explicit operator std::string()
const;
385template<
class CharT,
class Traits>
386std::basic_ostream<CharT, Traits>&
387operator<<(std::basic_ostream<CharT, Traits>& out,
const anch::UUID& uuid);
389#include "impl/uuid.hpp"
UUID generator and parser.
Definition uuid.hpp:46
uint32_t getLowTime() const
static std::random_device & getRandomEngine()
bool operator==(const UUID &uuid) const
static std::uniform_int_distribution< uint16_t > & getDistSeq()
static const uint32_t SEQ_HIGH_MASK
Definition uuid.hpp:102
bool operator!=(const UUID &uuid) const
std::string toString() const
uint16_t getClockSeqLow() const
UUID(const std::string &uuid)
static const uint64_t TIME_LOW_MASK
Definition uuid.hpp:87
static uint64_t getUtcTimestamp()
static const uint32_t SEQ_LOW_MASK
Definition uuid.hpp:99
Version
Definition uuid.hpp:55
@ SHA1_HASH
Definition uuid.hpp:72
@ RANDOM
Definition uuid.hpp:69
@ NOT_SET
Definition uuid.hpp:57
@ MAC_ADDRESS
Definition uuid.hpp:60
@ MD5_HASH
Definition uuid.hpp:66
@ EXP
Definition uuid.hpp:81
@ RANDOM_TIME
Definition uuid.hpp:78
@ MAC_ADDRESS_R
Definition uuid.hpp:75
@ DCE_SECURITY
Definition uuid.hpp:63
UUID(uint32_t lowTime, uint16_t midTime, uint16_t highTime, uint16_t clockSeqLow, uint16_t clockSeqHighRes, uint64_t node, UUID::Version version)
static const uint64_t TIME_HIGH_MASK
Definition uuid.hpp:93
uint16_t getHighTime() const
anch::UUID::Version getVersion() const
static const uint64_t TIME_MID_MASK
Definition uuid.hpp:90
static UUID generateUUID(anch::UUID::Version version, const std::string &data="")
UUID & operator=(const UUID &uuid)
uint16_t getMidTime() const
void parse(const std::string &uuid)
static const uint64_t VERSION_MASK
Definition uuid.hpp:96
static void registerProvider(UUID::Version version, std::function< UUID(const std::string &)> provider)
static UUID parseUUID(const std::string &uuid)
uint16_t getClockSeqHighRes() const
AnCH framework base namespace.
Definition app.hpp:28