POrdinalToString Class Reference

This is a dictionary collection class of `PString` objects, keyed by an ordinal value. More...

`#include <pstring.h>`

Inheritance diagram for POrdinalToString:

## Classes

struct | Initialiser
| Structure for static array initialiser for class. More...

## Public Member Functions

Construction
| POrdinalToString (PINDEX count, const Initialiser *init)
| Initialise the ordinal dictionary of strings from the static array. More...
Overrides from class PObject
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...
Public Member Functions inherited from PStringDictionary< K >
| PStringDictionary ()
| Create a new, empty, dictionary. More...
virtual PObject * | Clone () const
| Make a complete duplicate of the dictionary. More...
const PString & | operator[] (const K &key) const
| Get the string contained in the dictionary at the `key` position. More...
PString | operator() (const K &key, const char *dflt=NULL) const
| Get the string contained in the dictionary at the `key` position. More...
PBoolean | Contains (const K &key) const
| Determine if the value of the object is contained in the hash table. More...
virtual PString * | RemoveAt (const K &key)
| Remove an object at the specified key. More...
virtual PString * | GetAt (const K &key) const
| Get the object at the specified key position. More...
virtual PBoolean | SetDataAt (PINDEX index, const PString &str)
| Set the data at the specified ordinal index position in the dictionary. More...
virtual PBoolean | SetAt (const K &key, const PString &str)
| Add a new object to the collection. More...
const K & | GetKeyAt (PINDEX index) const
| Get the key in the dictionary at the ordinal index position. More...
PString & | GetDataAt (PINDEX index) const
| Get the data in the dictionary at the ordinal index position. More...
Public Member Functions inherited from PAbstractDictionary
PINLINE | PAbstractDictionary ()
| Create a new, empty, dictionary. More...
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual PINDEX | Insert (const PObject &key, PObject *obj)
| Insert a new object into the dictionary. More...
virtual PINDEX | InsertAt (PINDEX index, PObject *obj)
| Insert a new object at the specified index. More...
virtual PObject * | RemoveAt (PINDEX index)
| Remove an object at the specified index. More...
virtual PBoolean | SetAt (PINDEX index, PObject *val)
| Set the object at the specified index to the new value. More...
virtual PObject * | GetAt (PINDEX index) const
| Get the object at the specified index position. More...
virtual PINDEX | GetObjectsIndex (const PObject *obj) const
| Search the collection for the specific instance of the object. More...
virtual PINDEX | GetValuesIndex (const PObject &obj) const
| Search the collection for the specified value of the object. More...
virtual PBoolean | SetDataAt (PINDEX index, PObject *obj)
| Set the data at the specified ordinal index position in the dictionary. More...
virtual PBoolean | AbstractSetAt (const PObject &key, PObject *obj)
| Add a new object to the collection. More...
virtual PObject & | GetRefAt (const PObject &key) const
| Get the object at the specified key position. More...
virtual PObject * | AbstractGetAt (const PObject &key) const
| Get the object at the specified key position. More...
virtual void | AbstractGetKeys (PArrayObjects &keys) const
| Get an array containing all the keys for the dictionary. More...
Public Member Functions inherited from PHashTable
| PHashTable ()
| Create a new, empty, hash table. More...
virtual Comparison | Compare (const PObject &obj) const
| Get the relative rank of the two hash tables. More...
virtual PBoolean | SetSize (PINDEX newSize)
| This function is meaningless for hash table. More...
PINLINE PBoolean | AbstractContains (const PObject &key) const
| Determine if the value of the object is contained in the hash table. More...
virtual const PObject & | AbstractGetKeyAt (PINDEX index) const
| Get the key in the hash table at the ordinal index position. More...
virtual PObject & | AbstractGetDataAt (PINDEX index) const
| Get the data in the hash table at the ordinal index position. More...
Public Member Functions inherited from PCollection
| PCollection (PINDEX initialSize=0)
| Create a new collection. More...
virtual void | RemoveAll ()
| Remove all of the elements in the collection. More...
PINLINE void | AllowDeleteObjects (PBoolean yes=true)
| Allow or disallow the deletion of the objects contained in the collection. More...
void | DisallowDeleteObjects ()
| Disallow the deletion of the objects contained in the collection. 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 PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. 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...
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...

## Additional Inherited Members

Public Types inherited from PHashTable
typedef PHashTableElement | Element
typedef PHashTableInfo | Table
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 const char * | Class ()
| Get the name of the class as a C string. More...
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
Public Attributes inherited from PHashTable
PHashTableInfo * | hashTable
Protected Member Functions inherited from PStringDictionary< K >
| PStringDictionary (int dummy, const PStringDictionary *c)
Protected Member Functions inherited from PAbstractDictionary
PINLINE | PAbstractDictionary (int dummy, const PAbstractDictionary *c)
Protected Member Functions inherited from PCollection
PINLINE | PCollection (int dummy, const PCollection *coll)
| Constructor used in support of the Clone() function. More...
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 PContainer
PContainerReference * | reference

## Detailed Description

This is a dictionary collection class of `PString` objects, keyed by an ordinal value.

It has all the usual functions for a collection, with the object types set to `PString` pointers. The class could be considered like a sparse array of strings.

In addition some addition functions are added that take a const `PString` reference instead of a pointer as most standard collection functions do. This is more convenient for when string expressions are used as parameters to function in the collection.

See the `PAbstractDictionary` and `PStringDictionary` classes and `PDECLARE_DICTIONARY` and `PDECLARE_STRING_DICTIONARY` macros for more information.

## Constructor & Destructor Documentation

POrdinalToString::POrdinalToString | ( | PINDEX | count,
|  | const Initialiser * | init
| ) |  |

Initialise the ordinal dictionary of strings from the static array.

Parameters

  count | Count of strings in initialiser array
  init | Array of Initialiser structures

## Member Function Documentation

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

virtual

Input the contents of the object from the stream.

This is primarily used by the standard `operator>>` function.

The default behaviour reads '\n' separated strings until `!strm.good()`.

Reimplemented from PObject.

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

- pstring.h