ost::MapTable(3) | Library Functions Manual | ost::MapTable(3) |
NAME¶
ost::MapTable - A map table allows for entities to be mapped (hash index) onto it.SYNOPSIS¶
#include <object.h> Inherits ost::Mutex.Public Member Functions¶
MapTable (unsigned size)
Protected Member Functions¶
void cleanup (void)
Protected Attributes¶
unsigned range
Friends¶
class MapObject
Additional Inherited Members¶
Detailed Description¶
A map table allows for entities to be mapped (hash index) onto it.David Sugar dyfet@gnutelephony.org Table to
hold hash indexed objects.
Constructor & Destructor Documentation¶
ost::MapTable::MapTable (unsignedsize)¶
Create a map table with a specified number of slots. Parameters:number of slots.
virtual ost::MapTable::~MapTable () [virtual]¶
Destroy the table, calls cleanup.Member Function Documentation¶
void ost::MapTable::addFree (MapObject *obj)¶
Add an object to the managed free list. Some MapObject's may override delete operator to detach and do this. Parameters:object to add.
void ost::MapTable::addObject (MapObject &obj)¶
Map an object to our table. If it is in another table already, it is removed there first. Parameters:object to map.
void ost::MapTable::cleanup (void) [protected]¶
void* ost::MapTable::getEnd () [inline]¶
Get table's end, useful for cycle control; it is returned as void * for easy re-cast. Returns:pointer to found object or NULL.
void* ost::MapTable::getFirst ()¶
Get the first element into table, it is returned as void * for easy re-cast. Returns:pointer to found object or NULL.
void* ost::MapTable::getFree (void)¶
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:next object on free list.
virtual unsigned ost::MapTable::getIndex (const char *id) [virtual]¶
Get index value from id string. This function can be changed as needed to provide better collision avoidence for specific tables. Parameters:id string
Returns:
index slot in table.
void* ost::MapTable::getLast ()¶
Get the last element into table, it is returned as void * for easy re-cast. Returns:pointer to found object or NULL.
void* ost::MapTable::getObject (const char *id)¶
Lookup an object by id key. It is returned as void * for easy re-cast. Parameters:key to find.
Returns:
pointer to found object or NULL.
unsigned ost::MapTable::getRange (void) [inline]¶
Return range of this table. Returns:table range.
unsigned ost::MapTable::getSize (void) [inline]¶
Return the number of object stored in this table. Returns:table size.
MapTable& ost::MapTable::operator+= (MapObject &obj)¶
An operator to map an object to the table. Returns:table being used.
Parameters:
object being mapped.
virtual MapTable& ost::MapTable::operator-= (MapObject &obj) [virtual]¶
This operator is virtual in case it must also add the object to a managed free list. Returns:current table.
Parameters:
object entity to remove.
Friends And Related Function Documentation¶
friend class MapIndex [friend]¶
friend class MapObject [friend]¶
Member Data Documentation¶
unsigned ost::MapTable::count [protected]¶
MapObject** ost::MapTable::map [protected]¶
unsigned ost::MapTable::range [protected]¶
Author¶
Generated automatically by Doxygen for GNU CommonC++ from the source code.Sat Jun 23 2012 | GNU CommonC++ |