|
blocxx
|
UUIDs (Universally Unique IDentifiers), also known as GUIDs (Globally Unique IDentifiers), are 128 bits long. More...
#include <UUID.hpp>
Public Member Functions | |
| UUID () | |
| Create a new UUID. | |
| UUID (const String &uuidStr) | |
| Construct a UUID from string representation. | |
| String | toString () const |
| Get the string representation of this UUID. | |
Private Attributes | |
| unsigned char | m_uuid [16] |
Friends | |
| BLOCXX_COMMON_API bool | operator== (const UUID &x, const UUID &y) |
| BLOCXX_COMMON_API bool | operator< (const UUID &x, const UUID &y) |
UUIDs (Universally Unique IDentifiers), also known as GUIDs (Globally Unique IDentifiers), are 128 bits long.
It is either guaranteed to be different from all other UUIDs/GUIDs generated until 3400 A.D. or extremely likely to be different. sizeof(UUID) == 16. The internal data is stored in network byte order, independent of host byte order.
This implementation based off of IETF internet draft: draft-leach-uuids-guids-01.txt That has expired, so if you want a real spec, see: DCE: Remote Procedure Call, Open Group CAE Specification C309 ISBN 1-85912-041-5 28cm. 674p. pbk. 1,655g. 8/94
| BLOCXX_NAMESPACE::UUID::UUID | ( | ) |
Construct a UUID from string representation.
The formal definition of the UUID string representation is provided by the following extended BNF:
UUID = <time_low> "-" <time_mid> "-"
<time_high_and_version> "-"
<clock_seq_and_reserved>
<clock_seq_low> "-" <node>
time_low = 4*<hexOctet>
time_mid = 2*<hexOctet>
time_high_and_version = 2*<hexOctet>
clock_seq_and_reserved = <hexOctet>
clock_seq_low = <hexOctet>
node = 6*<hexOctet>
hexOctet = <hexDigit> <hexDigit>
hexDigit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
| "a" | "b" | "c" | "d" | "e" | "f"
| "A" | "B" | "C" | "D" | "E" | "F"
The following is an example of the string representation of a UUID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6
| UUIDException | if uuidStr isn't valid. |
Definition at line 248 of file UUID.cpp.
References BLOCXX_THROW, m_uuid, and operator==.
| String BLOCXX_NAMESPACE::UUID::toString | ( | ) | const |
Get the string representation of this UUID.
The following is an example of the string representation of a UUID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6
Definition at line 274 of file UUID.cpp.
References BLOCXX_NAMESPACE::String::E_TAKE_OWNERSHIP, m_uuid, and operator==.
Definition at line 305 of file UUID.cpp.
Referenced by toString(), UUID(), and UUID().
Definition at line 104 of file UUID.hpp.
Referenced by toString(), UUID(), and UUID().