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

FX::FXDict Class Reference

The dictionary class maintains a fast-access hash table of entities indexed by a character string. More...

#include <FXDict.h>

Inheritance diagram for FX::FXDict:
FX::FXObject FX::FXFileDict FX::FXIconDict FX::FXSettings FX::FXStringDict FX::FXRegistry

List of all members.

Classes

struct  Entry

Public Member Functions

 FXDict ()
 Construct an empty dictionary.
FXbool size (FXival m)
 Resize the table to the given size.
FXival size () const
 Return the size of the table, including the empty slots.
FXival no () const
 Return the total number of entries in the table.
void * insert (const FXchar *ky, void *ptr=NULL, FXbool mrk=false)
 Insert a new entry into the table given key and mark.
void * replace (const FXchar *ky, void *ptr=NULL, FXbool mrk=false)
 Replace data at key, if the entry's mark is less than or equal to the given mark.
void * remove (const FXchar *ky)
 Remove data given key.
void * find (const FXchar *ky) const
 Find data pointer given key.
FXbool empty (FXival pos) const
 Return true if slot is empty.
const FXchar * key (FXival pos) const
 Return key at position pos.
void * data (FXival pos) const
 Return data pointer at position pos.
FXbool mark (FXival pos) const
 Return mark flag of entry at position pos.
FXival first () const
 Return position of first filled slot, or >= total.
FXival last () const
 Return position of last filled slot or -1.
FXival next (FXival pos) const
 Return position of next filled slot in hash table or a value greater than or equal to total if no filled slot was found.
FXival prev (FXival pos) const
 Return position of previous filled slot in hash table or a -1 if no filled slot was found.
void clear ()
 Clear all entries.
virtual ~FXDict ()
 Destructor.
- Public Member Functions inherited from FX::FXObject
const FXchar * getClassName () const
 Get class name of some object.
FXbool isMemberOf (const FXMetaClass *metaclass) const
 Check if object is member of metaclass.
virtual long tryHandle (FXObject *sender, FXSelector sel, void *ptr)
 Try handle message safely, catching certain exceptions.
virtual long onDefault (FXObject *, FXSelector, void *)
 Called for unhandled messages.
virtual void save (FXStream &store) const
 Save object to stream.
virtual void load (FXStream &store)
 Load object from stream.
virtual ~FXObject ()
 Virtual destructor.

Protected Member Functions

virtual void * createData (void *)
 Overload this function in a derived class to return the data pointer given an input pointer; the default implementation just returns the input pointer.
virtual void deleteData (void *)
 Overload this function in a derived class to delete the pointer previously returned by createData(); the default implementation does nothing.

Static Protected Member Functions

static FXuint hash (const FXchar *str)

Protected Attributes

FXArray< Entrytable
FXival used
FXival free

Static Protected Attributes

static const Entry init

Detailed Description

The dictionary class maintains a fast-access hash table of entities indexed by a character string.

It is typically used to map strings to pointers; however, overloading the createData() and deleteData() members allows any type of data to be indexed by strings.


Member Function Documentation

void* FX::FXDict::insert ( const FXchar *  ky,
void *  ptr = NULL,
FXbool  mrk = false 
)

Insert a new entry into the table given key and mark.

If there is already an entry with that key, leave it unchanged, otherwise insert the new entry.

void* FX::FXDict::replace ( const FXchar *  ky,
void *  ptr = NULL,
FXbool  mrk = false 
)

Replace data at key, if the entry's mark is less than or equal to the given mark.

If there was no existing entry, a new entry is inserted with the given mark.


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

Copyright © 1997-2013 Jeroen van der Zijp