#include <x/uuid.H> x::uuid newid; x::uuid::charbuf newidStr; newid.to_string(newidStr);
x::uuid
is a unique id generator class. Each instance of
x::uuid creates a new unique identifier.
The class defines a comparison function,
instances of x::uuid may be used as key values
in associative containers.
x::uuid has a single member:
val. This is an opaque array of
uint16_t that contains a unique sequence of
values, in binary. The
to_string member function converts the unique id
value to a zero-terminated string containing Ascii characters.
x::uuid::charbuf is an array of characters long
enough to hold the generated string.
The unique ID value is formed by combining the running thread ID, a counter, the system clock, and the MAC address of the first network interface found, if one is present. The resulting ID values should be globally unique.
std::vector<unsigned char> mac(x::uuid::getmac()->mac);
getmac() returns a reference to a
singleton object that contains one
member, mac the MAC address used in
the unique ID generator.
The vector will be empty if a
network interface with a suitable
MAC address was not available.