22 #ifndef _REFERENCECOUNTED_HPP
23 #define _REFERENCECOUNTED_HPP
25 #include <xqilla/framework/XQillaExport.hpp>
29 #define NULLRCP ((void *)0)
42 ++
const_cast<unsigned int&
>(_ref_count);
48 if(--const_cast<unsigned int&>(_ref_count) == 0) {
63 if(
_p != 0)
_p->incrementRefCount();
68 if(
_p != 0)
_p->incrementRefCount();
73 if(
_p != 0)
_p->incrementRefCount();
79 if(
_p != 0)
_p->decrementRefCount();
81 if(
_p != 0)
_p->incrementRefCount();
88 if(
_p != 0)
_p->decrementRefCount();
120 template<
class T1,
class T2>
123 return (
void*)(T1*)a == (
void*)(T2*)b;
126 template<
class T1,
class T2>
129 return (
void*)(T1*)a != (
void*)(T2*)b;
135 return (T*)a == (T*)b;
141 return (T*)a != (T*)b;
Super class for reference counted classes.
Definition: ReferenceCounted.hpp:32
RefCountPointer & operator=(const RefCountPointer< T > &o)
Definition: ReferenceCounted.hpp:76
Super class of all the reference counted wrappers for Items.
Definition: ReferenceCounted.hpp:58
void incrementRefCount() const
Increment the reference count.
Definition: ReferenceCounted.hpp:40
T * _p
Definition: ReferenceCounted.hpp:117
bool operator==(const RefCountPointer< T1 > &a, const RefCountPointer< T2 > &b)
Definition: ReferenceCounted.hpp:121
T * operator->() const
Definition: ReferenceCounted.hpp:91
unsigned int _ref_count
Definition: ReferenceCounted.hpp:54
bool operator!=(const RefCountPointer< T1 > &a, const RefCountPointer< T2 > &b)
Definition: ReferenceCounted.hpp:127
RefCountPointer(const RefCountPointer< T2 > &o)
Definition: ReferenceCounted.hpp:66
virtual ~ReferenceCounted()
Definition: ReferenceCounted.hpp:37
bool isNull() const
Definition: ReferenceCounted.hpp:106
virtual void decrementRefCount() const
Decrement the reference count, deleting if it becomes zero.
Definition: ReferenceCounted.hpp:46
bool notNull() const
Definition: ReferenceCounted.hpp:111
RefCountPointer(T *p=0)
Definition: ReferenceCounted.hpp:61
ReferenceCounted()
Definition: ReferenceCounted.hpp:35
~RefCountPointer()
Definition: ReferenceCounted.hpp:86
RefCountPointer(const RefCountPointer< T > &o)
Definition: ReferenceCounted.hpp:71