125 inline operator const T*()
const {
184#ifndef HAVE_MEMORY_LEAK_TRACKER
196#ifndef HAVE_MEMORY_LEAK_TRACKER
201 if (t && !t->deref()) {
266 if (o.isConsistent()) {
315 Q_ASSERT_X(0,
"KisWeakSharedPtr",
"Weak pointer is not valid!");
327 Q_ASSERT_X(0,
"KisWeakSharedPtr",
"Weak pointer is not valid!");
339 Q_ASSERT_X(0,
"KisWeakSharedPtr",
"Weak pointer is not valid!");
348 inline operator const T*()
const {
360 Q_ASSERT_X(0,
"KisWeakSharedPtr",
"Weak pointer is not valid!");
369 Q_ASSERT_X(0,
"KisWeakSharedPtr",
"Weak pointer is not valid!");
378 Q_ASSERT_X(0,
"KisWeakSharedPtr",
"Weak pointer is not valid!");
387 Q_ASSERT_X(0,
"KisWeakSharedPtr",
"Weak pointer is not valid!");
424 static inline bool isOdd(
const qint32 &x) {
454 if (o.isConsistent()) {
494 Q_ASSERT(o.isConsistent());
static KisMemoryLeakTracker * instance()
void dereference(const void *what, const void *bywho)
void reference(const void *what, const void *bywho, const char *whatName=0)
const T * constData() const
KisSharedPtr & operator=(const KisSharedPtr &o)
KisSharedPtr(const KisWeakSharedPtr< T > &o)
const T * operator->() const
KisSharedPtr(const KisSharedPtr< T > &o)
static void ref(const KisSharedPtr< T > *sp, T *t)
static bool deref(const KisSharedPtr< T > *sp, T *t)
bool operator!=(const T *p) const
bool operator==(const T *p) const
const T & operator*() const
bool operator==(const T *p) const
bool isConsistent() const
const T * operator->() const
void attach(const KisWeakSharedPtr &o)
friend class KisSharedPtr< T >
KisWeakSharedPtr(const KisWeakSharedPtr< T > &o)
const T & operator*() const
static const qint32 WEAK_REF
KisSharedPtr< T > toStrongRef() const
toStrongRef returns a KisSharedPtr which may be dereferenced.
KisWeakSharedPtr(const KisSharedPtr< T > &o)
static bool isOdd(const qint32 &x)
QAtomicInt * weakReference
bool operator!=(const T *p) const
KisWeakSharedPtr & operator=(const KisWeakSharedPtr &o)
const T * constData() const