Loading...
Searching...
No Matches
Uuid Class Reference

A universally unique 128-bit identifier. More...

Public Member Functions

 Uuid ()
 Creates a new unique ID, compliant with RFC 4122 version 4.
 
 ~Uuid () noexcept
 Destructor.
 
 Uuid (const Uuid &) noexcept
 Creates a copy of another UUID.
 
Uuidoperator= (const Uuid &) noexcept
 Copies another UUID.
 
bool isNull () const noexcept
 Returns true if the ID is zero.
 
bool operator== (const Uuid &) const noexcept
 
bool operator!= (const Uuid &) const noexcept
 
bool operator< (const Uuid &) const noexcept
 
bool operator> (const Uuid &) const noexcept
 
bool operator<= (const Uuid &) const noexcept
 
bool operator>= (const Uuid &) const noexcept
 
String toString () const
 Returns a stringified version of this UUID.
 
String toDashedString () const
 Returns a stringified version of this UUID, separating it into sections with dashes.
 
 Uuid (const String &uuidString)
 Creates an ID from an encoded string version.
 
Uuidoperator= (const String &uuidString)
 Copies from a stringified UUID.
 
uint32 getTimeLow () const noexcept
 Returns the time-low section of the UUID.
 
uint16 getTimeMid () const noexcept
 Returns the time-mid section of the UUID.
 
uint16 getTimeHighAndVersion () const noexcept
 Returns the time-high-and-version section of the UUID.
 
uint8 getClockSeqAndReserved () const noexcept
 Returns the clock-seq-and-reserved section of the UUID.
 
uint8 getClockSeqLow () const noexcept
 Returns the clock-seq-low section of the UUID.
 
uint64 getNode () const noexcept
 Returns the node section of the UUID.
 
uint64 hash () const noexcept
 Returns a hash of the UUID.
 
const uint8getRawData () const noexcept
 Returns a pointer to the internal binary representation of the ID.
 
 Uuid (const uint8 *rawData) noexcept
 Creates a UUID from a 16-byte array.
 
Uuidoperator= (const uint8 *rawData) noexcept
 Sets this UUID from 16-bytes of raw data.
 

Static Public Member Functions

static Uuid null () noexcept
 Returns a null Uuid object.
 
static constexpr size_t size ()
 Returns the size in bytes of the raw data making up this UUID.
 

Detailed Description

A universally unique 128-bit identifier.

This class generates very random unique numbers. It's vanishingly unlikely that two identical UUIDs would ever be created by chance. The values are formatted to meet the RFC 4122 version 4 standard.

The class includes methods for saving the ID as a string or as raw binary data.

Constructor & Destructor Documentation

◆ Uuid() [1/4]

Uuid::Uuid ( )

Creates a new unique ID, compliant with RFC 4122 version 4.

Referenced by null(), operator!=(), operator<(), operator<=(), operator=(), operator=(), operator=(), operator==(), operator>(), operator>=(), Uuid(), and Uuid().

◆ ~Uuid()

Uuid::~Uuid ( )
noexcept

Destructor.

◆ Uuid() [2/4]

Uuid::Uuid ( const Uuid & )
noexcept

Creates a copy of another UUID.

References Uuid().

◆ Uuid() [3/4]

Uuid::Uuid ( const String & uuidString)

Creates an ID from an encoded string version.

See also
toString

References Uuid().

◆ Uuid() [4/4]

Uuid::Uuid ( const uint8 * rawData)
noexcept

Creates a UUID from a 16-byte array.

See also
getRawData

Member Function Documentation

◆ operator=() [1/3]

Uuid & Uuid::operator= ( const Uuid & )
noexcept

Copies another UUID.

References Uuid().

◆ isNull()

bool Uuid::isNull ( ) const
noexcept

Returns true if the ID is zero.

References isNull().

Referenced by isNull().

◆ null()

static Uuid Uuid::null ( )
staticnoexcept

Returns a null Uuid object.

References null(), and Uuid().

Referenced by null().

◆ operator==()

bool Uuid::operator== ( const Uuid & ) const
noexcept

References Uuid().

◆ operator!=()

bool Uuid::operator!= ( const Uuid & ) const
noexcept

References Uuid().

◆ operator<()

bool Uuid::operator< ( const Uuid & ) const
noexcept

References Uuid().

◆ operator>()

bool Uuid::operator> ( const Uuid & ) const
noexcept

References Uuid().

◆ operator<=()

bool Uuid::operator<= ( const Uuid & ) const
noexcept

References Uuid().

◆ operator>=()

bool Uuid::operator>= ( const Uuid & ) const
noexcept

References Uuid().

◆ toString()

String Uuid::toString ( ) const

Returns a stringified version of this UUID.

A Uuid object can later be reconstructed from this string using operator= or the constructor that takes a string parameter.

Returns
a 32 character hex string.

References toString().

Referenced by toString().

◆ toDashedString()

String Uuid::toDashedString ( ) const

Returns a stringified version of this UUID, separating it into sections with dashes.

Returns
a string in the format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

References toDashedString().

Referenced by toDashedString().

◆ operator=() [2/3]

Uuid & Uuid::operator= ( const String & uuidString)

Copies from a stringified UUID.

The string passed in should be one that was created with the toString() method.

References Uuid().

◆ getTimeLow()

uint32 Uuid::getTimeLow ( ) const
noexcept

Returns the time-low section of the UUID.

References getTimeLow().

Referenced by getTimeLow().

◆ getTimeMid()

uint16 Uuid::getTimeMid ( ) const
noexcept

Returns the time-mid section of the UUID.

References getTimeMid().

Referenced by getTimeMid().

◆ getTimeHighAndVersion()

uint16 Uuid::getTimeHighAndVersion ( ) const
noexcept

Returns the time-high-and-version section of the UUID.

References getTimeHighAndVersion().

Referenced by getTimeHighAndVersion().

◆ getClockSeqAndReserved()

uint8 Uuid::getClockSeqAndReserved ( ) const
noexcept

Returns the clock-seq-and-reserved section of the UUID.

References getClockSeqAndReserved().

Referenced by getClockSeqAndReserved().

◆ getClockSeqLow()

uint8 Uuid::getClockSeqLow ( ) const
noexcept

Returns the clock-seq-low section of the UUID.

References getClockSeqLow().

Referenced by getClockSeqLow().

◆ getNode()

uint64 Uuid::getNode ( ) const
noexcept

Returns the node section of the UUID.

References getNode().

Referenced by getNode().

◆ hash()

uint64 Uuid::hash ( ) const
noexcept

Returns a hash of the UUID.

References hash().

Referenced by hash().

◆ getRawData()

const uint8 * Uuid::getRawData ( ) const
noexcept

Returns a pointer to the internal binary representation of the ID.

This is an array of 16 bytes. To reconstruct a Uuid from its data, use the constructor or operator= method that takes an array of uint8s.

References getRawData().

Referenced by getRawData().

◆ size()

static constexpr size_t Uuid::size ( )
staticconstexpr

Returns the size in bytes of the raw data making up this UUID.

◆ operator=() [3/3]

Uuid & Uuid::operator= ( const uint8 * rawData)
noexcept

Sets this UUID from 16-bytes of raw data.

References Uuid().

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram