JUCE
Public Member Functions | Static Public Member Functions | List of all members
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. More...
 
 ~Uuid () noexcept
 Destructor. More...
 
 Uuid (const Uuid &) noexcept
 Creates a copy of another UUID. More...
 
Uuidoperator= (const Uuid &) noexcept
 Copies another UUID. More...
 
bool isNull () const noexcept
 Returns true if the ID is zero. More...
 
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. More...
 
String toDashedString () const
 Returns a stringified version of this UUID, separating it into sections with dashes. More...
 
 Uuid (const String &uuidString)
 Creates an ID from an encoded string version. More...
 
Uuidoperator= (const String &uuidString)
 Copies from a stringified UUID. More...
 
uint32 getTimeLow () const noexcept
 Returns the time-low section of the UUID. More...
 
uint16 getTimeMid () const noexcept
 Returns the time-mid section of the UUID. More...
 
uint16 getTimeHighAndVersion () const noexcept
 Returns the time-high-and-version section of the UUID. More...
 
uint8 getClockSeqAndReserved () const noexcept
 Returns the clock-seq-and-reserved section of the UUID. More...
 
uint8 getClockSeqLow () const noexcept
 Returns the clock-seq-low section of the UUID. More...
 
uint64 getNode () const noexcept
 Returns the node section of the UUID. More...
 
uint64 hash () const noexcept
 Returns a hash of the UUID. More...
 
const uint8getRawData () const noexcept
 Returns a pointer to the internal binary representation of the ID. More...
 
 Uuid (const uint8 *rawData) noexcept
 Creates a UUID from a 16-byte array. More...
 
Uuidoperator= (const uint8 *rawData) noexcept
 Sets this UUID from 16-bytes of raw data. More...
 

Static Public Member Functions

static Uuid null () noexcept
 Returns a null Uuid object. More...
 

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.

◆ ~Uuid()

Uuid::~Uuid ( )
noexcept

Destructor.

◆ Uuid() [2/4]

Uuid::Uuid ( const Uuid )
noexcept

Creates a copy of another UUID.

◆ Uuid() [3/4]

Uuid::Uuid ( const String uuidString)

Creates an ID from an encoded string version.

See also
toString

◆ 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.

◆ isNull()

bool Uuid::isNull ( ) const
noexcept

Returns true if the ID is zero.

◆ null()

static Uuid Uuid::null ( )
staticnoexcept

Returns a null Uuid object.

◆ operator==()

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

◆ operator!=()

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

◆ operator<()

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

◆ operator>()

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

◆ operator<=()

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

◆ operator>=()

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

◆ 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.

◆ 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

◆ 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.

◆ getTimeLow()

uint32 Uuid::getTimeLow ( ) const
noexcept

Returns the time-low section of the UUID.

◆ getTimeMid()

uint16 Uuid::getTimeMid ( ) const
noexcept

Returns the time-mid section of the UUID.

◆ getTimeHighAndVersion()

uint16 Uuid::getTimeHighAndVersion ( ) const
noexcept

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

◆ getClockSeqAndReserved()

uint8 Uuid::getClockSeqAndReserved ( ) const
noexcept

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

◆ getClockSeqLow()

uint8 Uuid::getClockSeqLow ( ) const
noexcept

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

◆ getNode()

uint64 Uuid::getNode ( ) const
noexcept

Returns the node section of the UUID.

◆ hash()

uint64 Uuid::hash ( ) const
noexcept

Returns a hash of the UUID.

Referenced by getRawData().

◆ 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 hash(), and JUCE_LEAK_DETECTOR.

◆ operator=() [3/3]

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

Sets this UUID from 16-bytes of raw data.


The documentation for this class was generated from the following file: