# POrdinalKey Class Reference

This class is used when an ordinal index value is the key for `PSet` and `PDictionary` classes. More...

`#include <dict.h>`

Inheritance diagram for POrdinalKey:

List of all members.

## Public Member Functions

Construction
PINLINE | POrdinalKey (PINDEX newKey=0)
| Create a new key for ordinal index values.
PINLINE POrdinalKey & | operator= (PINDEX)
| Operator to assign the ordinal.
Overrides from class PObject
virtual PObject * | Clone () const
| Create a duplicate of the POrdinalKey.
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank.
virtual PINDEX | HashFunction () const
| This function calculates a hash table index value for the implementation of `PSet` and `PDictionary` classes.
virtual void | PrintOn (ostream &strm) const
| Output the ordinal index to the specified stream.
New functions for class
PINLINE | operator PINDEX () const
| Operator so that a POrdinalKey can be used as a PINDEX value.
PINLINE PINDEX | operator++ ()
| Operator to pre-increment the ordinal.
PINLINE PINDEX | operator++ (int)
| Operator to post-increment the ordinal.
PINLINE PINDEX | operator-- ()
| Operator to pre-decrement the ordinal.
PINLINE PINDEX | operator-- (int)
| Operator to post-decrement the ordinal.
PINLINE POrdinalKey & | operator+= (PINDEX)
| Operator to add the ordinal.
PINLINE POrdinalKey & | operator-= (PINDEX)
| Operator to subtract from the ordinal.

## Detailed Description

This class is used when an ordinal index value is the key for `PSet` and `PDictionary` classes.

## Constructor & Destructor Documentation

PINLINE POrdinalKey::POrdinalKey | ( | PINDEX | newKey = `0` | ) |

Create a new key for ordinal index values.

Parameters:

  newKey | Ordinal index value to use as a key.

## Member Function Documentation

virtual PObject* POrdinalKey::Clone | ( |  | ) | const`[virtual]`

Create a duplicate of the POrdinalKey.

Reimplemented from PObject.

virtual Comparison POrdinalKey::Compare | ( | const PObject & | obj | ) | const`[virtual]`

Compare the two objects and return their relative rank.

This function is usually overridden by descendent classes to yield the ranking according to the semantics of the object.

The default function is to use the `CompareObjectMemoryDirect()` function to do a byte wise memory comparison of the two objects.

Returns:
  `LessThan`, `EqualTo` or `GreaterThan` according to the relative rank of the objects.

Reimplemented from PObject.

virtual PINDEX POrdinalKey::HashFunction | ( |  | ) | const`[virtual]`

This function calculates a hash table index value for the implementation of `PSet` and `PDictionary` classes.

Returns:
  hash table bucket number.

Reimplemented from PObject.

PINLINE POrdinalKey::operator PINDEX | ( |  | ) | const

Operator so that a POrdinalKey can be used as a PINDEX value.

PINLINE PINDEX POrdinalKey::operator++ | ( | int |  | ) |

Operator to post-increment the ordinal.

PINLINE PINDEX POrdinalKey::operator++ | ( |  | ) |

Operator to pre-increment the ordinal.

PINLINE POrdinalKey& POrdinalKey::operator+= | ( | PINDEX |  | ) |

Operator to add the ordinal.

PINLINE PINDEX POrdinalKey::operator-- | ( | int |  | ) |

Operator to post-decrement the ordinal.

PINLINE PINDEX POrdinalKey::operator-- | ( |  | ) |

Operator to pre-decrement the ordinal.

PINLINE POrdinalKey& POrdinalKey::operator-= | ( | PINDEX |  | ) |

Operator to subtract from the ordinal.

PINLINE POrdinalKey& POrdinalKey::operator= | ( | PINDEX |  | ) |

Operator to assign the ordinal.

virtual void POrdinalKey::PrintOn | ( | ostream & | strm | ) | const`[virtual]`

Output the ordinal index to the specified stream.

This is identical to outputting the PINDEX, i.e. integer, value.

Returns:
  stream that the index was output to.

Reimplemented from PObject.

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

- dict.h