![]() |
Qore Programming Language 2.0.0
|
the base class for all data to be used as private data of Qore objects More...
#include <AbstractPrivateData.h>
Public Member Methods | |
virtual DLLLOCAL void | deref () |
decrements the reference count of the object without the possibility of throwing a Qore-language exception | |
virtual DLLLOCAL void | deref (ExceptionSink *xsink) |
decrements the reference count of the object | |
DLLLOCAL void | ref () const |
increments the reference count of the object | |
![]() | |
DLLEXPORT | QoreReferenceCounter () |
Creates the reference counter object. | |
DLLEXPORT | QoreReferenceCounter (const QoreReferenceCounter &old) |
Creates a new object with a reference count of 1. | |
DLLEXPORT | ~QoreReferenceCounter () |
destroys the reference counter object | |
DLLEXPORT bool | is_unique () const |
Returns true if the reference count is 1. | |
DLLEXPORT bool | optRef () |
Make a strong reference only if the object is valid. | |
DLLEXPORT int | reference_count () const |
Gets the reference count. | |
DLLEXPORT bool | ROdereference () const |
Atomically decrements the reference count. | |
DLLEXPORT void | ROreference () const |
Atomically increments the reference count. | |
Private Member Methods | |
virtual DLLLOCAL | ~AbstractPrivateData () |
as these objects are reference counted, the destructor should be called only when the reference count = 0 and not manually | |
the base class for all data to be used as private data of Qore objects
C++ constructor code for Qore classes must set private data of the class against the class ID using QoreObject::setPrivate()
|
inlinevirtual |
decrements the reference count of the object
xsink | any Qore-language exception information is stored here |
Reimplemented in QoreHttpClientObject, QoreHttpClientObject, QoreProgram, and QoreProgram.
References QoreReferenceCounter::ROdereference().