bes Updated for version 3.20.13
|
#include <RCObject.h>
Public Member Functions | |
void | add (RCObject *pObj) |
bool | contains (RCObject *pObj) const |
RCObjectPool () | |
void | release (RCObject *pObj, bool shouldDelete=true) |
void | remove (RCObject *pObj) |
virtual | ~RCObjectPool () |
Protected Member Functions | |
void | deleteAllObjects () |
Friends | |
class | RCObject |
A monitoring "pool" class for created RCObject's which allows us to forcibly delete any RCOBject's regardless of their ref counts when we know we are done with them, say after an exception.
@TODO For now, this won't be a real pool, where objects are pre-allocated ahead of time and reused, etc. Support for this sort of thing will require a template class containing a vector of reusable objects for each type we need to factory up. At that point this will serve as a base class for the concrete pool.
Definition at line 57 of file RCObject.h.
agg_util::RCObjectPool::RCObjectPool | ( | ) |
Create an empty pool
Definition at line 172 of file RCObject.cc.
|
virtual |
Forcibly delete all remaining objects in pool, regardless of ref count
Definition at line 177 of file RCObject.cc.
void agg_util::RCObjectPool::add | ( | RCObject * | pObj | ) |
Add the object to the pool uniquely. When the pool is destroyed, pObj will be destroyed as well, regardless of its count, if it is still live.
Definition at line 188 of file RCObject.cc.
Definition at line 182 of file RCObject.cc.
|
protected |
Call delete on all objects remaining in _liveObjects and clear it out. After call, _liveObjects.empty().
Definition at line 220 of file RCObject.cc.
Tell the pool that the object's count is 0 and it can be released to be deleted or potentially reused again later. Users should not call this.
pObj | the object to remove from the pool. |
shouldDelete | whether this call should call delete on pObj, or just remove it. |
Definition at line 197 of file RCObject.cc.
|
inline |
Remove the object from the pool, but don't delete it
pObj | object to remove from the auto delete pool. |
Definition at line 80 of file RCObject.h.
|
friend |
Definition at line 58 of file RCObject.h.