#include <QoreReferenceCounter.h>
Public Member Functions | |
DLLEXPORT | QoreReferenceCounter () |
creates the reference counter object | |
DLLEXPORT | ~QoreReferenceCounter () |
destroys the reference counter object | |
DLLEXPORT int | reference_count () const |
gets the reference count | |
DLLEXPORT bool | is_unique () const |
returns true if the reference count is 1 | |
DLLEXPORT void | ROreference () const |
atomically increments the reference count | |
DLLEXPORT bool | ROdereference () const |
atomically decrements the reference count | |
Protected Attributes | |
QoreThreadLock | mRO |
pthread lock to ensure atomicity of updates for architectures where we don't have an atomic increment and decrement implementation |
DLLEXPORT int QoreReferenceCounter::reference_count | ( | ) | const [inline] |
gets the reference count
DLLEXPORT bool QoreReferenceCounter::is_unique | ( | ) | const [inline] |
returns true if the reference count is 1
DLLEXPORT bool QoreReferenceCounter::ROdereference | ( | ) | const |
atomically decrements the reference count
returns true if the reference count is now zero
Referenced by AbstractPrivateData::deref().