Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXReverseDictionary Class Reference

The reverse dictionary class is a fast-access hash table, mapping void-pointers to strings. More...

#include <FXReverseDictionary.h>

Inheritance diagram for FX::FXReverseDictionary:
FX::FXReverseDictionaryOf< TYPE >

Classes

struct  Entry
 

Public Member Functions

 FXReverseDictionary ()
 Construct empty dictionary.
 
 FXReverseDictionary (const FXReverseDictionary &other)
 Construct from another dictionary.
 
FXival no () const
 Return the size of the table, including the empty slots.
 
FXival used () const
 Return number of used slots in the table.
 
FXival free () const
 Return number of free slots in the table.
 
FXbool empty () const
 See if map is empty.
 
FXReverseDictionaryoperator= (const FXReverseDictionary &other)
 Assignment operator.
 
FXReverseDictionaryadopt (FXReverseDictionary &other)
 Adopt dictionary from another.
 
FXival find (const void *ky) const
 Find position of given key, returning -1 if not found.
 
FXbool has (const void *ky) const
 Check if key is mapped.
 
FXStringat (const void *ky)
 Return reference to slot assocated with given key.
 
const FXStringat (const void *ky) const
 Return constant reference to slot assocated with given key.
 
FXStringoperator[] (const void *ky)
 Return reference to slot assocated with given key.
 
const FXStringoperator[] (const void *ky) const
 Return constant reference to slot assocated with given key.
 
FXString insert (const void *ky, const FXString &str=FXString::null)
 Insert association with given key; return old value, if any.
 
FXString remove (const void *ky)
 Remove association with given key; return old value, if any.
 
FXString erase (FXival pos)
 Erase data at pos in the table; return old value, if any.
 
FXbool empty (FXival pos) const
 Return true if slot is empty.
 
const void * key (FXival pos) const
 Return key at position pos.
 
FXStringdata (FXival pos)
 Return reference to slot at position pos.
 
const FXStringdata (FXival pos) const
 Return constant reference to slot at position pos.
 
FXbool clear ()
 Clear entire table.
 
 ~FXReverseDictionary ()
 Destroy table.
 

Protected Member Functions

FXbool no (FXival n)
 
void used (FXival u)
 
void free (FXival f)
 
FXbool resize (FXival n)
 

Protected Attributes

Entrytable
 

Detailed Description

The reverse dictionary class is a fast-access hash table, mapping void-pointers to strings.

Subclasses of dictionary can easily specialize the void-pointers to pointers to particular types; to this end subclasses must overload certain API's and perform the necessary type-casts for the proper interpretation of the stored pointer values. Two special key values are disallowed: NULL and the pointer value (-1L); NULL is used to designate an unoccupied slot, while (-1L) is used to designate a formerly occupied slot. Note that many complex containers in TL now fit inside a pointer, and thus these types can be used in dictionaries as well!


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

Copyright © 1997-2022 Jeroen van der Zijp