PGloballyUniqueID Class Reference

Globally unique ID definition. More...

`#include <guid.h>`

Inheritance diagram for PGloballyUniqueID:

## Public Member Functions

Construction
| PGloballyUniqueID ()
| Create a new ID. More...
| PGloballyUniqueID (const char *cstr)
| Create an ID from a C string of hex (as produced by AsString()). More...
| PGloballyUniqueID (const PString &str)
| Create an ID from a PString of hex (as produced by AsString()). More...
Overrides from PObject
virtual void | PrintOn (ostream &strm) const
| Standard stream print function. More...
virtual void | ReadFrom (istream &strm)
| Standard stream read function. More...
virtual PObject * | Clone () const
| Create a clone of the ID. More...
virtual PINDEX | HashFunction () const
| Get the hash value for the ID. More...
Operations
PString | AsString () const
| Convert the ID to human readable string. More...
PBoolean | IsNULL () const
| Test if the GUID is null, ie consists of all zeros. More...
PBoolean | operator! () const
Public Member Functions inherited from PBYTEArray
| PBYTEArray (PINDEX initialSize=0)
| Construct a new dynamic array of unsigned chars. More...
| PBYTEArray (BYTE const *buffer, PINDEX length, PBoolean dynamic=true)
| Construct a new dynamic array of unsigned chars. More...
Public Member Functions inherited from PBaseArray< T >
| PBaseArray (PINDEX initialSize=0)
| Construct a new dynamic array of elements of the specified type. More...
| PBaseArray (T const *buffer, PINDEX length, PBoolean dynamic=true)
| Construct a new dynamic array of elements of the specified type. More...
PBoolean | SetAt (PINDEX index, T val)
| Set the specific element in the array. More...
T | GetAt (PINDEX index) const
| Get a value from the array. More...
void | Attach (const T *buffer, PINDEX bufferSize)
| Attach a pointer to a static block to the base array type. More...
T * | GetPointer (PINDEX minSize=0)
| Get a pointer to the internal array and assure that it is of at least the specified size. More...
T | operator[] (PINDEX index) const
| Get a value from the array. More...
T & | operator[] (PINDEX index)
| Get a reference to value from the array. More...
| operator T const * () const
| Get a pointer to the internal array. More...
PBoolean | Concatenate (const PBaseArray &array)
| Concatenate one array to the end of this array. More...
Public Member Functions inherited from PAbstractArray
| PAbstractArray (PINDEX elementSizeInBytes, PINDEX initialSize=0)
| Create a new dynamic array of `initalSize` elements of `elementSizeInBytes` bytes each. More...
| PAbstractArray (PINDEX elementSizeInBytes, const void *buffer, PINDEX bufferSizeInElements, PBoolean dynamicAllocation)
| Create a new dynamic array of `bufferSizeInElements` elements of `elementSizeInBytes` bytes each. More...
virtual Comparison | Compare (const PObject &obj) const
| Get the relative rank of the two arrays. More...
virtual PBoolean | SetSize (PINDEX newSize)
| Set the size of the array in elements. More...
void | Attach (const void *buffer, PINDEX bufferSize)
| Attach a pointer to a static block to the base array type. More...
void * | GetPointer (PINDEX minSize=1)
| Get a pointer to the internal array and assure that it is of at least the specified size. More...
PBoolean | Concatenate (const PAbstractArray &array)
| Concatenate one array to the end of this array. More...
Public Member Functions inherited from PContainer
| PContainer (PINDEX initialSize=0)
| Create a new unique container. More...
| PContainer (const PContainer &cont)
| Create a new refernce to container. More...
PContainer & | operator= (const PContainer &cont)
| Assign one container reference to another. More...
virtual | ~PContainer ()
| Destroy the container class. More...
virtual PINDEX | GetSize () const
| Get the current size of the container. More...
PBoolean | SetMinSize (PINDEX minSize)
| Set the minimum size of container. More...
virtual PBoolean | IsEmpty () const
| Determine if the container is empty. More...
PBoolean | IsUnique () const
| Determine if container is unique reference. More...
virtual PBoolean | MakeUnique ()
| Make this instance to be the one and only reference to the container contents. More...
Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...

## Additional Inherited Members

Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...
Static Public Member Functions inherited from PObject
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
static const char * | Class ()
| Get the name of the class as a C string. More...
Protected Member Functions inherited from PBaseArray< T >
virtual void | PrintElementOn (ostream &stream, PINDEX index) const
| PBaseArray (PContainerReference &reference)
Protected Member Functions inherited from PAbstractArray
PBoolean | InternalSetSize (PINDEX newSize, PBoolean force)
virtual void | ReadElementFrom (istream &stream, PINDEX index)
| PAbstractArray (PContainerReference &reference, PINDEX elementSizeInBytes)
Protected Member Functions inherited from PContainer
| PContainer (int dummy, const PContainer *cont)
| Constructor used in support of the Clone() function. More...
| PContainer (PContainerReference &reference)
| Construct using static PContainerReference. More...
virtual void | DestroyContents ()=0
| Destroy the container contents. More...
virtual void | AssignContents (const PContainer &c)
| Copy the container contents. More...
void | CopyContents (const PContainer &c)
| Copy the container contents. More...
void | CloneContents (const PContainer *src)
| Create a duplicate of the container contents. More...
void | Destruct ()
| Internal function called from container destructors. More...
virtual void | DestroyReference ()
| Destroy the PContainerReference instance. More...
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...
Protected Attributes inherited from PAbstractArray
PINDEX | elementSize
| Size of an element in bytes. More...
char * | theArray
| Pointer to the allocated block of memory. More...
PBoolean | allocatedDynamically
| Flag indicating the array was allocated on the heap. More...
Protected Attributes inherited from PContainer
PContainerReference * | reference

## Detailed Description

Globally unique ID definition.

This implements a 128 bit globally unique ID as required by many protocols and software systems. The value is constructed in such a way as to make a duplicate anywhere in the world highly unlikely.

## Constructor & Destructor Documentation

## PGloballyUniqueID() [1/3]

PGloballyUniqueID::PGloballyUniqueID | ( |  | ) |

Create a new ID.

The ID created with this will be initialised to a globally unique ID as per specification.

## PGloballyUniqueID() [2/3]

PGloballyUniqueID::PGloballyUniqueID | ( | const char * | cstr | ) |

Create an ID from a C string of hex (as produced by AsString()).

A useful construct is to construct a OpalGloballyUniqueID() with NULL which produces an all zero GUID, detectable with the IsNULL() function.

Parameters

  cstr | C string to convert

## PGloballyUniqueID() [3/3]

PGloballyUniqueID::PGloballyUniqueID | ( | const PString & | str | ) |

Create an ID from a PString of hex (as produced by AsString()).

Parameters

  str | String of hex to convert

## Member Function Documentation

## AsString()

PString PGloballyUniqueID::AsString | ( |  | ) | const

Convert the ID to human readable string.

## Clone()

virtual PObject* PGloballyUniqueID::Clone | ( |  | ) | const

virtual

Create a clone of the ID.

The duplicate ID has the same value as the source. Required for having this object as a key in dictionaries.

Reimplemented from PBaseArray< T >.

## HashFunction()

virtual PINDEX PGloballyUniqueID::HashFunction | ( |  | ) | const

virtual

Get the hash value for the ID.

Creates a number based on the ID value for use in the hash table of a dictionary. Required for having this object as a key in dictionaries.

Reimplemented from PObject.

## IsNULL()

PBoolean PGloballyUniqueID::IsNULL | ( |  | ) | const

Test if the GUID is null, ie consists of all zeros.

Referenced by operator!().

## operator!()

PBoolean PGloballyUniqueID::operator! | ( |  | ) | const

inline

References IsNULL().

## PrintOn()

virtual void PGloballyUniqueID::PrintOn | ( | ostream & | strm | ) | const

virtual

Standard stream print function.

The PObject class has a << operator defined that calls this function polymorphically.

Parameters

  strm | Stream to output text representation

Reimplemented from PAbstractArray.

## ReadFrom()

virtual void PGloballyUniqueID::ReadFrom | ( | istream & | strm | ) |

virtual

Standard stream read function.

The PObject class has a >> operator defined that calls this function polymorphically.

Parameters

  strm | Stream to output text representation

Reimplemented from PAbstractArray.

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

- guid.h