20 #ifndef INCLUDED_SALHELPER_SIMPLEREFERENCEOBJECT_HXX
21 #define INCLUDED_SALHELPER_SIMPLEREFERENCEOBJECT_HXX
70 { osl_atomic_increment(&m_nCount); }
73 {
if (osl_atomic_decrement(&m_nCount) == 0)
delete this; }
77 static void *
operator new(std::size_t nSize)
SAL_THROW((std::bad_alloc));
81 static void *
operator new(std::size_t nSize,
82 std::nothrow_t
const & rNothrow)
87 static void operator delete(
void * pPtr)
SAL_THROW(());
91 static void operator delete(
void * pPtr, std::nothrow_t
const & rNothrow)
118 static void *
operator new[](std::size_t);
122 static void operator delete[](
void * pPtr);
129 #endif // INCLUDED_SALHELPER_SIMPLEREFERENCEOBJECT_HXX
sal_Int32 oslInterlockedCount
Definition: interlck.h:32
#define SALHELPER_DLLPRIVATE
Definition: salhelperdllapi.h:30
SimpleReferenceObject() SAL_THROW(())
Definition: simplereferenceobject.hxx:61
A simple base implementation for reference-counted objects.
Definition: simplereferenceobject.hxx:58
Definition: condition.hxx:29
void acquire() SAL_THROW(())
Definition: simplereferenceobject.hxx:69
#define SAL_THROW(x)
Exception specification documentation.
Definition: types.h:361
void release() SAL_THROW(())
Definition: simplereferenceobject.hxx:72
#define SALHELPER_DLLPUBLIC
Definition: salhelperdllapi.h:28