24 #ifndef INCLUDED_SALHELPER_SIMPLEREFERENCEOBJECT_HXX 25 #define INCLUDED_SALHELPER_SIMPLEREFERENCEOBJECT_HXX 63 static const size_t nStaticFlag = 0x80000000;
75 if (!(m_nCount & nStaticFlag))
76 osl_atomic_increment(&m_nCount);
81 if (!(m_nCount & nStaticFlag) &&
82 osl_atomic_decrement(&m_nCount) == 0)
88 static void *
operator new(std::size_t nSize);
92 static void *
operator new(std::size_t nSize,
93 std::nothrow_t
const & rNothrow);
97 static void operator delete(
void * pPtr);
101 static void operator delete(
void * pPtr, std::nothrow_t
const & rNothrow);
112 m_nCount |= nStaticFlag;
137 #endif // INCLUDED_SALHELPER_SIMPLEREFERENCEOBJECT_HXX void release()
Definition: simplereferenceobject.hxx:79
SimpleReferenceObject()
Definition: simplereferenceobject.hxx:66
#define COVERITY_NOEXCEPT_FALSE
To markup destructors that coverity warns might throw exceptions which won't throw in practice...
Definition: types.h:367
oslInterlockedCount m_nCount
Definition: simplereferenceobject.hxx:115
#define SAL_DELETED_FUNCTION
short-circuit extra-verbose API namespaces
Definition: types.h:396
void acquire()
Definition: simplereferenceobject.hxx:73
#define SALHELPER_DLLPUBLIC
Definition: salhelperdllapi.h:32
sal_Int32 oslInterlockedCount
Definition: interlck.h:44
A simple base implementation for reference-counted objects.
Definition: simplereferenceobject.hxx:61
Definition: condition.hxx:33