JUCE  v5.4.1-191-g0ab5e696f
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::Uuid Class Reference

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

#include <juce_Uuid.h>

Collaboration diagram for juce::Uuid:

Public Member Functions

 Uuid ()
 Creates a new unique ID, compliant with RFC 4122 version 4. More...
 
 Uuid (const Uuid &) noexcept
 Creates a copy of another UUID. More...
 
 Uuid (const String &uuidString)
 Creates an ID from an encoded string version. More...
 
 Uuid (const uint8 *rawData) noexcept
 Creates a UUID from a 16-byte array. More...
 
 ~Uuid () noexcept
 Destructor. 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...
 
const uint8getRawData () const noexcept
 Returns a pointer to the internal binary representation of the ID. More...
 
uint16 getTimeHighAndVersion () const noexcept
 Returns the time-high-and-version section of the 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...
 
uint64 hash () const noexcept
 Returns a hash of the 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
 
Uuidoperator= (const Uuid &) noexcept
 Copies another UUID. More...
 
Uuidoperator= (const String &uuidString)
 Copies from a stringified UUID. More...
 
Uuidoperator= (const uint8 *rawData) noexcept
 Sets this UUID from 16-bytes of raw data. More...
 
bool operator== (const Uuid &) const noexcept
 
bool operator> (const Uuid &) const noexcept
 
bool operator>= (const Uuid &) const noexcept
 
String toDashedString () const
 Returns a stringified version of this UUID, separating it into sections with dashes. More...
 
String toString () const
 Returns a stringified version of this UUID. More...
 

Static Public Member Functions

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

Private Member Functions

int compare (Uuid) const noexcept
 
String getHexRegion (int, int) const
 

Private Attributes

uint8 uuid [16]
 

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.

{Core}

Constructor & Destructor Documentation

◆ Uuid() [1/4]

juce::Uuid::Uuid ( )

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

◆ ~Uuid()

juce::Uuid::~Uuid ( )
noexcept

Destructor.

◆ Uuid() [2/4]

juce::Uuid::Uuid ( const Uuid )
noexcept

Creates a copy of another UUID.

◆ Uuid() [3/4]

juce::Uuid::Uuid ( const String uuidString)

Creates an ID from an encoded string version.

See also
toString

◆ Uuid() [4/4]

juce::Uuid::Uuid ( const uint8 rawData)
noexcept

Creates a UUID from a 16-byte array.

See also
getRawData

Member Function Documentation

◆ compare()

int juce::Uuid::compare ( Uuid  ) const
privatenoexcept

◆ getClockSeqAndReserved()

uint8 juce::Uuid::getClockSeqAndReserved ( ) const
noexcept

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

◆ getClockSeqLow()

uint8 juce::Uuid::getClockSeqLow ( ) const
noexcept

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

◆ getHexRegion()

String juce::Uuid::getHexRegion ( int  ,
int   
) const
private

◆ getNode()

uint64 juce::Uuid::getNode ( ) const
noexcept

Returns the node section of the UUID.

◆ getRawData()

const uint8* juce::Uuid::getRawData ( ) const
inlinenoexcept

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.

◆ getTimeHighAndVersion()

uint16 juce::Uuid::getTimeHighAndVersion ( ) const
noexcept

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

◆ getTimeLow()

uint32 juce::Uuid::getTimeLow ( ) const
noexcept

Returns the time-low section of the UUID.

◆ getTimeMid()

uint16 juce::Uuid::getTimeMid ( ) const
noexcept

Returns the time-mid section of the UUID.

◆ hash()

uint64 juce::Uuid::hash ( ) const
noexcept

Returns a hash of the UUID.

◆ isNull()

bool juce::Uuid::isNull ( ) const
noexcept

Returns true if the ID is zero.

◆ null()

static Uuid juce::Uuid::null ( )
staticnoexcept

Returns a null Uuid object.

◆ operator!=()

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

◆ operator<()

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

◆ operator<=()

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

◆ operator=() [1/3]

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

Copies another UUID.

◆ operator=() [2/3]

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

Copies from a stringified UUID.

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

◆ operator=() [3/3]

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

Sets this UUID from 16-bytes of raw data.

◆ operator==()

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

◆ operator>()

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

◆ operator>=()

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

◆ toDashedString()

String juce::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

◆ toString()

String juce::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.

Member Data Documentation

◆ uuid

uint8 juce::Uuid::uuid[16]
private

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