ost::MapTable(3) | Library Functions Manual | ost::MapTable(3) |
ost::MapTable - A map table allows for entities to be mapped (hash index) onto it.
#include <object.h>
Inherits ost::Mutex.
MapTable (unsigned size)
Create a map table with a specified number of slots. virtual ~MapTable
()
Destroy the table, calls cleanup. virtual unsigned getIndex (const char
*id)
Get index value from id string. unsigned getRange (void)
Return range of this table. unsigned getSize (void)
Return the number of object stored in this table. void * getObject
(const char *id)
Lookup an object by id key. void addObject (MapObject &obj)
Map an object to our table. void * getFirst ()
Get the first element into table, it is returned as void * for easy re-cast.
void * getLast ()
Get the last element into table, it is returned as void * for easy re-cast.
void * getEnd ()
Get table's end, useful for cycle control; it is returned as void * for easy
re-cast. void * getFree (void)
Get next object from managed free list. void addFree (MapObject
*obj)
Add an object to the managed free list. MapTable &
operator+= (MapObject &obj)
An operator to map an object to the table. virtual MapTable &
operator-= (MapObject &obj)
This operator is virtual in case it must also add the object to a managed free
list.
void cleanup (void)
unsigned range
unsigned count
MapObject ** map
class MapObject
class MapIndex
A map table allows for entities to be mapped (hash index) onto it.
Unlike with Assoc, This form of map table also allows objects to be removed from the table. This table also includes a mutex lock for thread safety. A free list is also optionally maintained for reusable maps.
Author
Table to hold hash indexed objects.
Create a map table with a specified number of slots.
Parameters
Destroy the table, calls cleanup.
Add an object to the managed free list. Some MapObject's may override delete operator to detach and do this.
Parameters
Map an object to our table. If it is in another table already, it is removed there first.
Parameters
Get table's end, useful for cycle control; it is returned as void * for easy re-cast.
Returns
Get the first element into table, it is returned as void * for easy re-cast.
Returns
Get next object from managed free list. This returns as a void so it can be recast into the actual type being used in derived MapObject's. A derived version of MapTable may well offer an explicit type version of this. Some derived MapObject's may override new to use managed list.
Returns
Get index value from id string. This function can be changed as needed to provide better collision avoidence for specific tables.
Parameters
Returns
Get the last element into table, it is returned as void * for easy re-cast.
Returns
Lookup an object by id key. It is returned as void * for easy re-cast.
Parameters
Returns
Return range of this table.
Returns
Return the number of object stored in this table.
Returns
An operator to map an object to the table.
Returns
Parameters
This operator is virtual in case it must also add the object to a managed free list.
Returns
Parameters
Generated automatically by Doxygen for GNU CommonC++ from the source code.
Sun Dec 27 2020 | GNU CommonC++ |