Qore Programming Language  0.8.7
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Protected Member Functions | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for AbstractPrivateData:
Collaboration graph
[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
xsinkany 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: