All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
AbstractPrivateData Class Reference

the base class for all data to be used as private data of Qore objects More...

`#include <AbstractPrivateData.h>`

Inheritance diagram for AbstractPrivateData:
[legend]
Collaboration diagram for AbstractPrivateData:
[legend]

## Public Member Functions

DLLLOCAL void | ref ()
| increments the reference count of the object
virtual DLLLOCAL void | deref (class ExceptionSink *xsink)
| decrements the reference count of the object
virtual DLLLOCAL void | deref ()
| decrements the reference count of the object without the possibility of throwing a Qore-language exception
Public Member Functions inherited from QoreReferenceCounter
DLLEXPORT | QoreReferenceCounter ()
| creates the reference counter object
DLLEXPORT | ~QoreReferenceCounter ()
| destroys the reference counter object
DLLLOCAL int | reference_count () const
| gets the reference count
DLLLOCAL 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 Member Functions

virtual DLLLOCAL | ~AbstractPrivateData ()
| as these objects are reference counted, the destructor should be called only when the reference count = 0 and not manually

## Additional Inherited Members

Protected Attributes inherited from QoreReferenceCounter
QoreThreadLock | mRO
| pthread lock to ensure atomicity of updates for architectures where we don't have an atomic increment and decrement implementation

## Detailed Description

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()

## Member Function Documentation

virtual DLLLOCAL void AbstractPrivateData::deref | ( | class ExceptionSink * | xsink | ) |

inlinevirtual

decrements the reference count of the object

Parameters

  xsink | any Qore-language exception information is stored here

Reimplemented in QoreProgram, and QoreHTTPClient.

References QoreReferenceCounter::ROdereference().

The documentation for this class was generated from the following file:

- include/qore/AbstractPrivateData.h (5431)