|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# QUuid Class Reference
[QtCore module]

The QUuid class stores a Universally Unique Identifier (UUID). More...

     #include <QUuid>

Note: All the functions in this class are reentrant.

- List of all members, including inherited members

### Public Types

- enum Variant { VarUnknown, NCS, DCE, Microsoft, Reserved }
- enum Version { VerUnknown, Time, EmbeddedPOSIX, Name, Random }

### Public Functions

- QUuid ()
- QUuid ( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 )
- QUuid ( const QString & text )
- QUuid ( const GUID & guid )
- bool isNull () const
- QString toString () const
- QUuid::Variant variant () const
- QUuid::Version version () const
- operator GUID () const
- operator QString () const
- bool operator!= ( const QUuid & other ) const
- bool operator!= ( const GUID & guid ) const
- bool operator< ( const QUuid & other ) const
- QUuid & operator= ( const GUID & guid )
- bool operator== ( const QUuid & other ) const
- bool operator== ( const GUID & guid ) const
- bool operator> ( const QUuid & other ) const

### Static Public Members

- QUuid createUuid ()

### Related Non-Members

- QDataStream & operator<< ( QDataStream & s, const QUuid & id )
- QDataStream & operator>> ( QDataStream & s, QUuid & id )

## Detailed Description

The QUuid class stores a Universally Unique Identifier (UUID).

For objects or declarations that must be uniquely identified, UUIDs (also known as GUIDs) are widely used in order to assign a fixed and easy to compare value to the object or declaration. The 128-bit value of a UUID is generated by an algorithm that guarantees that the value is unique.

In Qt, UUIDs are wrapped by the QUuid struct which provides convenience functions for handling UUIDs. Most platforms provide a tool to generate new UUIDs, for example, `uuidgen` and `guidgen`.

UUIDs generated by QUuid, are based on the `Random` version of the `DCE` (Distributed Computing Environment) standard.

UUIDs can be constructed from numeric values or from strings, or using the static createUuid() function. They can be converted to a string with toString(). UUIDs have a variant() and a version(), and null UUIDs return true from isNull().

## Member Type Documentation

### enum QUuid::Variant

This enum defines the variant of the UUID, which is the scheme which defines the layout of the 128-bits value.

Constant | Value | Description
--- | --- | ---
`QUuid::VarUnknown` | `-1` | Variant is unknown
`QUuid::NCS` | `0` | Reserved for NCS (Network Computing System) backward compatibility
`QUuid::DCE` | `2` | Distributed Computing Environment, the scheme used by QUuid
`QUuid::Microsoft` | `6` | Reserved for Microsoft backward compatibility (GUID)
`QUuid::Reserved` | `7` | Reserved for future definition

### enum QUuid::Version

This enum defines the version of the UUID.

Constant | Value | Description
--- | --- | ---
`QUuid::VerUnknown` | `-1` | Version is unknown
`QUuid::Time` | `1` | Time-based, by using timestamp, clock sequence, and MAC network card address (if available) for the node sections
`QUuid::EmbeddedPOSIX` | `2` | DCE Security version, with embedded POSIX UUIDs
`QUuid::Name` | `3` | Name-based, by using values from a name for all sections
`QUuid::Random` | `4` | Random-based, by using random numbers for all sections

## Member Function Documentation

### QUuid::QUuid ()

Creates the null UUID {00000000-0000-0000-0000-000000000000}.

### QUuid::QUuid ( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 )

Creates a UUID with the value specified by the parameters, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8.

Example:

         // {67C8770B-44F1-410A-AB9A-F9B5446F13EE}
         QUuid IID_MyInterface(0x67c8770b, 0x44f1, 0x410a, 0xab, 0x9a, 0xf9, 0xb5, 0x44, 0x6f, 0x13, 0xee)

### QUuid::QUuid ( const QString & text )

Creates a QUuid object from the string text. The function can only convert a string in the format {HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} (where 'H' stands for a hex digit). If the conversion fails a null UUID is created.

### QUuid::QUuid ( const GUID & guid )

Casts a Windows guid to a Qt QUuid.

Warning: This function is only for Windows platforms.

### QUuid QUuid::createUuid () `[static]`

Returns a new UUID of `DCE` variant, and `Random` type. The UUIDs generated are based on the platform specific pseudo-random generator, which is usually not a cryptographic-quality random number generator. Therefore, a UUID is not guaranteed to be unique cross application instances.

On Windows, the new UUID is extremely likely to be unique on the same or any other system, networked or not.

See also variant() and version().

### bool QUuid::isNull () const

Returns true if this is the null UUID {00000000-0000-0000-0000-000000000000}; otherwise returns false.

### QString QUuid::toString () const

Returns the string representation of the uuid.

### QUuid::Variant QUuid::variant () const

Returns the variant of the UUID. The null UUID is considered to be of an unknown variant.

See also version().

### QUuid::Version QUuid::version () const

Returns the version of the UUID, if the UUID is of the DCE variant; otherwise returns VerUnknown.

See also variant().

### QUuid::operator GUID () const

Returns a Windows GUID from a QUuid.

Warning: This function is only for Windows platforms.

### QUuid::operator QString () const

Returns the string representation of the uuid.

See also toString().

### bool QUuid::operator!= ( const QUuid & other ) const

Returns true if this QUuid and the other QUuid are different; otherwise returns false.

### bool QUuid::operator!= ( const GUID & guid ) const

This is an overloaded member function, provided for convenience.

Returns true if this UUID is not equal to the Windows GUID guid; otherwise returns false.

### bool QUuid::operator< ( const QUuid & other ) const

Returns true if this QUuid is of the same variant, and lexicographically before the other QUuid; otherwise returns false. If it is a different variant, return is based on a comparison of those two variants.

See also variant().

### QUuid & QUuid::operator= ( const GUID & guid )

Assigns a Windows guid to a Qt QUuid.

Warning: This function is only for Windows platforms.

### bool QUuid::operator== ( const QUuid & other ) const

Returns true if this QUuid and the other QUuid are identical; otherwise returns false.

### bool QUuid::operator== ( const GUID & guid ) const

This is an overloaded member function, provided for convenience.

Returns true if this UUID is equal to the Windows GUID guid; otherwise returns false.

### bool QUuid::operator> ( const QUuid & other ) const

Returns true if this QUuid is of the same variant, and lexicographically after the other QUuid; otherwise returns false. If it is a different variant, return is based on a comparison of those two variants.

See also variant().

## Related Non-Members

### QDataStream & operator<< ( QDataStream & s, const QUuid & id )

This is an overloaded member function, provided for convenience.

Writes the uuid id to the datastream s.

### QDataStream & operator>> ( QDataStream & s, QUuid & id )

This is an overloaded member function, provided for convenience.

Reads uuid from from the stream s into id.