| Yate
    | 
A hashed object list class. More...
#include <yateclass.h>
 
  
 | Public Member Functions | |
| HashList (unsigned int size=17) | |
| virtual | ~HashList () | 
| virtual void * | getObject (const String &name) const | 
| unsigned int | length () const | 
| unsigned int | count () const | 
| ObjList * | getList (unsigned int index) const | 
| ObjList * | getHashList (unsigned int hash) const | 
| ObjList * | getHashList (const String &str) const | 
| GenObject * | operator[] (const String &str) const | 
| ObjList * | find (const GenObject *obj) const | 
| ObjList * | find (const GenObject *obj, unsigned int hash) const | 
| ObjList * | find (const String &str) const | 
| ObjList * | append (const GenObject *obj) | 
| GenObject * | remove (GenObject *obj, bool delobj=true, bool useHash=false) | 
| GenObject * | remove (const String &str, bool delobj=true) | 
| void | clear () | 
| bool | resync (GenObject *obj) | 
| bool | resync () | 
|  Public Member Functions inherited from GenObject | |
| GenObject () | |
| virtual | ~GenObject () | 
| virtual bool | alive () const | 
| virtual void | destruct () | 
| virtual const String & | toString () const | 
| NamedCounter * | getObjCounter () const | 
| NamedCounter * | setObjCounter (NamedCounter *counter) | 
| Additional Inherited Members | |
|  Static Public Member Functions inherited from GenObject | |
| static void * | getObject (const String &name, const GenObject *obj) | 
| static bool | getObjCounting () | 
| static void | setObjCounting (bool enable) | 
| static NamedCounter * | getObjCounter (const String &name, bool create=true) | 
| static ObjList & | getObjCounters () | 
A hashed object list class.
A hashed object list handling class. Objects placed in the list are distributed according to their String hash resulting in faster searches. On the other hand an object placed in a hashed list must never change its String value or it becomes unfindable.
| 
 | explicit | 
Creates a new, empty list.
| size | Number of classes to divide the objects | 
| 
 | virtual | 
Destroys the list and everything in it.
Appends an object to the hashed list
| obj | Pointer to the object to append | 
| void clear | ( | ) | 
Clear the list and optionally delete all contained objects
| unsigned int count | ( | ) | const | 
Get the number of non-null objects in the list
Get the item in the list that holds an object. The item is searched sequentially in the lists, not using it's String hash
| obj | Pointer to the object to search for | 
Referenced by HashList::remove().
Get the item in the list that holds an object
| obj | Pointer to the object to search for | 
| hash | Object hash used to identify the list it belongs to | 
| 
 | inline | 
Retrieve one of the internal object lists knowing the hash value.
| hash | Hash of the internal list to retrieve | 
References HashList::getList().
Referenced by HashList::getHashList().
Retrieve one of the internal object lists knowing the String value.
| str | String whose hash internal list is to retrieve | 
References HashList::getHashList(), and String::hash().
| 
 | inline | 
Retrieve one of the internal object lists. This method should be used only to iterate all objects in the list.
| index | Index of the internal list to retrieve | 
Referenced by HashList::getHashList().
| 
 | virtual | 
Get a pointer to a derived class given that class name
| name | Name of the class we are asking for | 
Reimplemented from GenObject.
| 
 | inline | 
Get the number of hash entries
Array-like indexing operator
| str | String value of the object to locate | 
Delete the list item that holds a given object
| obj | Object to search in the list | 
| delobj | True to delete the object (default) | 
| useHash | True to use object hash to identify the list it belongs to | 
Delete the item in the list that holds an object by String value
| str | String value (toString) of the object to remove | 
| delobj | True to delete the object (default) | 
References HashList::find(), and ObjList::remove().
| bool resync | ( | GenObject * | obj | ) | 
Resync the list by checking if a stored object belongs to the list according to its hash
| obj | Object to resync in the list | 
| bool resync | ( | ) | 
Resync the list by checking if all stored objects belong to the list according to their hash
 1.8.8
 1.8.8