bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
|
#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
|
virtual |
Forcibly delete all remaining objects in pool, regardless of ref count
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.
|
protected |
Call delete on all objects remaining in _liveObjects and clear it out. After call, _liveObjects.empty().
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. |
|
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.