Qore Programming Language  0.9.16
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:
Collaboration diagram for AbstractPrivateData:

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 More...
 
DLLLOCAL void ref ()
 increments the reference count of the object More...
 
- Public Member Methods inherited from QoreReferenceCounter
DLLEXPORT QoreReferenceCounter ()
 creates the reference counter object
 
DLLEXPORT QoreReferenceCounter (const QoreReferenceCounter &old)
 creates a new object with a reference count of 1 More...
 
DLLEXPORT ~QoreReferenceCounter ()
 destroys the reference counter object
 
DLLEXPORT bool is_unique () const
 returns true if the reference count is 1 More...
 
DLLEXPORT int reference_count () const
 gets the reference count More...
 
DLLEXPORT bool ROdereference () const
 atomically decrements the reference count More...
 
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
 

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

◆ deref()

virtual DLLLOCAL void AbstractPrivateData::deref ( ExceptionSink xsink)
inlinevirtual

decrements the reference count of the object

Parameters
xsinkany Qore-language exception information is stored here

Reimplemented in QoreProgram, and QoreHttpClientObject.

◆ ref()

DLLLOCAL void AbstractPrivateData::ref ( )
inline

increments the reference count of the object

FIXME: this function should be const


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