Universally unique identifier (UUID)
More...
#include <uuid.h>
Universally unique identifier (UUID)
A universally unique identifier (UUID) is an identifier standard used in software construction. This implementation generates the following UUID types:
- Nil UUID0 (all bits set to zero)
- Sequential UUID1 (time based version)
- Random UUID4 (randomly or pseudo-randomly generated version)
A UUID is simply a 128-bit value: "123e4567-e89b-12d3-a456-426655440000"
Not thread-safe.
https://en.wikipedia.org/wiki/Universally_unique_identifier https://www.ietf.org/rfc/rfc4122.txt
Definition at line 35 of file uuid.h.
◆ UUID() [1/7]
constexpr CppCommon::UUID::UUID |
( |
| ) |
|
|
inlineconstexpr |
Default constructor.
Definition at line 39 of file uuid.h.
◆ UUID() [2/7]
template<size_t N>
constexpr CppCommon::UUID::UUID |
( |
const char(&) |
uuid[N] | ) |
|
|
inlineexplicitconstexpr |
Initialize UUID with a given string literal.
- Parameters
-
uuid | - UUID string literal |
Definition at line 45 of file uuid.h.
◆ UUID() [3/7]
constexpr CppCommon::UUID::UUID |
( |
const char * |
uuid, |
|
|
size_t |
size |
|
) |
| |
|
inlineexplicitconstexpr |
Initialize UUID with a given string literal.
- Parameters
-
uuid | - UUID string literal |
size | - UUID string literal size |
Definition at line 29 of file uuid.inl.
◆ UUID() [4/7]
CppCommon::UUID::UUID |
( |
const std::string & |
uuid | ) |
|
|
inlineexplicit |
Initialize UUID with a given string.
- Parameters
-
Definition at line 56 of file uuid.h.
◆ UUID() [5/7]
CppCommon::UUID::UUID |
( |
const std::array< uint8_t, 16 > & |
data | ) |
|
|
inlineexplicit |
Initialize UUID with a given 16 bytes data buffer.
- Parameters
-
data | - UUID 16 bytes data buffer |
Definition at line 61 of file uuid.h.
◆ UUID() [6/7]
CppCommon::UUID::UUID |
( |
const UUID & |
| ) |
|
|
default |
◆ UUID() [7/7]
CppCommon::UUID::UUID |
( |
UUID && |
| ) |
|
|
defaultnoexcept |
◆ ~UUID()
CppCommon::UUID::~UUID |
( |
| ) |
|
|
default |
◆ data() [1/2]
const std::array<uint8_t, 16>& CppCommon::UUID::data |
( |
| ) |
const |
|
inlinenoexcept |
Get the UUID data buffer.
Definition at line 93 of file uuid.h.
◆ data() [2/2]
std::array<uint8_t, 16>& CppCommon::UUID::data |
( |
| ) |
|
|
inlinenoexcept |
Get the UUID data buffer.
Definition at line 91 of file uuid.h.
◆ Nil()
static UUID CppCommon::UUID::Nil |
( |
| ) |
|
|
inlinestatic |
◆ operator bool()
CppCommon::UUID::operator bool |
( |
| ) |
const |
|
inlineexplicitnoexcept |
Check if the UUID is nil UUID0 (all bits set to zero)
Definition at line 88 of file uuid.h.
◆ operator=() [1/4]
UUID& CppCommon::UUID::operator= |
( |
const std::array< uint8_t, 16 > & |
data | ) |
|
|
inline |
◆ operator=() [2/4]
UUID& CppCommon::UUID::operator= |
( |
const std::string & |
uuid | ) |
|
|
inline |
◆ operator=() [3/4]
UUID& CppCommon::UUID::operator= |
( |
const UUID & |
| ) |
|
|
default |
◆ operator=() [4/4]
UUID& CppCommon::UUID::operator= |
( |
UUID && |
| ) |
|
|
defaultnoexcept |
◆ Random()
UUID CppCommon::UUID::Random |
( |
| ) |
|
|
static |
Generate random UUID4 (randomly or pseudo-randomly generated version)
- Examples
- system_uuid.cpp.
Definition at line 96 of file uuid.cpp.
◆ Secure()
UUID CppCommon::UUID::Secure |
( |
| ) |
|
|
static |
◆ Sequential()
UUID CppCommon::UUID::Sequential |
( |
| ) |
|
|
static |
◆ string()
std::string CppCommon::UUID::string |
( |
| ) |
const |
Get string from the current UUID in format "00000000-0000-0000-0000-000000000000".
Definition at line 22 of file uuid.cpp.
◆ swap()
void CppCommon::UUID::swap |
( |
UUID & |
uuid | ) |
|
|
inlinenoexcept |
Swap two instances.
Definition at line 67 of file uuid.inl.
◆ operator!=
bool operator!= |
( |
const UUID & |
uuid1, |
|
|
const UUID & |
uuid2 |
|
) |
| |
|
friend |
◆ operator<
bool operator< |
( |
const UUID & |
uuid1, |
|
|
const UUID & |
uuid2 |
|
) |
| |
|
friend |
◆ operator<<
std::ostream& operator<< |
( |
std::ostream & |
os, |
|
|
const UUID & |
uuid |
|
) |
| |
|
friend |
Output instance into the given output stream.
Definition at line 108 of file uuid.h.
◆ operator<=
bool operator<= |
( |
const UUID & |
uuid1, |
|
|
const UUID & |
uuid2 |
|
) |
| |
|
friend |
◆ operator==
bool operator== |
( |
const UUID & |
uuid1, |
|
|
const UUID & |
uuid2 |
|
) |
| |
|
friend |
◆ operator>
bool operator> |
( |
const UUID & |
uuid1, |
|
|
const UUID & |
uuid2 |
|
) |
| |
|
friend |
◆ operator>=
bool operator>= |
( |
const UUID & |
uuid1, |
|
|
const UUID & |
uuid2 |
|
) |
| |
|
friend |
◆ swap
void swap |
( |
UUID & |
uuid1, |
|
|
UUID & |
uuid2 |
|
) |
| |
|
friend |
The documentation for this class was generated from the following files: