|
|
A reference counted object. Whenever using multiple inheritance you should inherit this class virtually.
RefObject ()
| RefObject |
The constructor initializes the reference counter to 1! Use deref() to destruct the object when safe
~RefObject ()
| ~RefObject |
[virtual]
Destructor.
bool alive ()
| alive |
[const virtual]
Check if the object is still referenced and safe to access. Note that you should not trust this result unless the object is locked by other means.
Returns: True if the object is referenced and safe to access
Reimplemented from GenObject.
bool ref ()
| ref |
Increments the reference counter if not already zero
Returns: True if the object was successfully referenced and is safe to access
bool deref ()
| deref |
Decrements the reference counter, destroys the object if it reaches zero
// Deref this object, return quickly if the object was deleted if (deref()) return; |
Returns: True if the object may have been deleted, false if it still exists and is safe to access
inline int refcount ()
| refcount |
[const]
Get the current value of the reference counter
Returns: The value of the reference counter
void destruct ()
| destruct |
[virtual]
Refcounted objects should just have the counter decremented. That will destroy them only when the refcount reaches zero.
Reimplemented from GenObject.
void zeroRefs ()
| zeroRefs |
[protected virtual]
This method is called when the reference count reaches zero. The default behaviour is to delete the object.
bool resurrect ()
| resurrect |
[protected]
Bring the object back alive by setting the reference counter to one. Note that it works only if the counter was zero previously
Returns: True if the object was resurrected - its name may be Lazarus ;-)
Generated by: root on dragoshel on Sat Apr 14 01:50:50 2007, using kdoc 2.0a54. |