45 #ifndef COMMONCPP_OBJECT_H_
46 #define COMMONCPP_OBJECT_H_
48 #ifndef COMMONCPP_CONFIG_H_
49 #include <commoncpp/config.h>
96 virtual void *getObject(
void) = 0;
121 virtual void enterLock(
void);
127 virtual void leaveLock(
void);
155 inline void *operator*()
const {
159 void *getObject(
void)
const;
161 operator bool()
const;
163 bool operator!()
const;
246 nextObject = prevObject = NULL;
251 virtual void enterLock(
void);
253 virtual void leaveLock(
void);
327 virtual void insert(
LinkedDouble& obj, InsertMode position = modeAtLast);
332 virtual void detach(
void);
384 virtual unsigned getIndex(
const char *
id);
411 void *getObject(
const char *
id);
524 return (
void*)thisObject;
547 return this->operator++();
556 return thisObject == theIndex.thisObject;
559 bool operator!=(
const MapIndex& theIndex)
const {
560 return !(*
this == theIndex);
570 return thisObject == theObject;
573 bool operator!=(
const MapObject* theObject)
const {
574 return !(*
this == theObject);
595 const char *idObject;
LinkedDouble * getPrev(void)
Get prev object in the list.
MapIndex()
Creates an empty map index (pointing to nothing).
bool operator==(const MapIndex &theIndex) const
Comparison operator, between two MapIndex's.
void * getEnd()
Get table's end, useful for cycle control; it is returned as void * for easy re-cast.
bool operator==(const MapObject *theObject) const
Comparison operator, between the MapIndex and a MapObject, useful to avoid casts for sake of clearnes...
Self managed single linked list object chain.
InsertMode
Requested in overloaded insert() method to indicate how to insert data into list. ...
LinkedDouble * getNext(void)
Get next object, for convenience.
The MapObject is a base class which can be used to make a derived class operate on a MapTable...
insert in list before current object
insert at first position in list pointed by current object
MapIndex(MapObject *theObject)
Creates a map index pointing to a specific map object.
LinkedSingle * getNext(void)
Get next object, for convenience.
Self managed double linked list object chain.
unsigned getRange(void)
Return range of this table.
MapIndex operator++(int)
Postfix increment operator, to be used in loops and such.
The MapIndex allows linear access into a MapTable, that otherwise could have its elements being retri...
Pointer to reference counted objects.
RefPointer()
Create an unattached pointer.
A map table allows for entities to be mapped (hash index) onto it.
unsigned getSize(void)
Return the number of object stored in this table.
void * operator*() const
Dereference operator: the pointed object it is returned as void * for easy re-cast.
RefObject()
The constructor simply initializes the count.
MapIndex(const MapIndex &theIndex)
Creates a copy of a given map index.
insert at last position in list pointed by current object
A reference countable object.