18 rng.
randomize(m_uuid.data(), m_uuid.size());
21 m_uuid[6] = 0x40 | (m_uuid[6] & 0x0F);
24 m_uuid[8] = 0x80 | (m_uuid[8] & 0x3F);
39 if(uuid_str.size() != 36 ||
41 uuid_str[13] !=
'-' ||
42 uuid_str[18] !=
'-' ||
49 for(
char c : uuid_str)
59 if(m_uuid.size() != 16)
68 throw Invalid_State(
"UUID object is empty cannot convert to string");
virtual void randomize(uint8_t output[], size_t length)=0
std::string to_string() const
void hex_encode(char output[], const uint8_t input[], size_t input_length, bool uppercase)
size_t hex_decode(uint8_t output[], const char input[], size_t input_length, size_t &input_consumed, bool ignore_ws)