Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qshareddata.h File Reference

(11bb2adb776f5fe4087a9a0f7eeeeead62c8c853)

#include <QtCore/qatomic.h>
#include <QtCore/qcompare.h>
#include <QtCore/qhashfunctions.h>
Include dependency graph for qshareddata.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QtPrivate::QSharedDataPointerTraits< QSharedDataPointer, T >
struct  QtPrivate::QSharedDataPointerTraits< QExplicitlySharedDataPointer, T >
class  QSharedData
 \inmodule QtCore More...
class  QAdoptSharedDataTag
 \inmodule QtCore \threadsafe More...
class  QSharedDataPointerBase< P, T >
class  QSharedDataPointer< T >
 \inmodule QtCore More...
class  QExplicitlySharedDataPointer< T >
 \inmodule QtCore More...

Namespaces

namespace  QtPrivate

Macros

#define QT_DECLARE_QSDP_SPECIALIZATION_DTOR(Class)
#define QT_DECLARE_QSDP_SPECIALIZATION_DTOR_WITH_EXPORT(Class, ExportMacro)
#define QT_DEFINE_QSDP_SPECIALIZATION_DTOR(Class)
#define QT_DECLARE_QESDP_SPECIALIZATION_DTOR(Class)
#define QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT(Class, ExportMacro)
#define QT_DEFINE_QESDP_SPECIALIZATION_DTOR(Class)

Functions

template<typename T>
void swap (QSharedDataPointer< T > &p1, QSharedDataPointer< T > &p2) noexcept
template<typename T>
void swap (QExplicitlySharedDataPointer< T > &p1, QExplicitlySharedDataPointer< T > &p2) noexcept
template<typename T>
 Q_DECLARE_TYPEINFO_BODY (QSharedDataPointer< T >, Q_RELOCATABLE_TYPE)
template<typename T>
 Q_DECLARE_TYPEINFO_BODY (QExplicitlySharedDataPointer< T >, Q_RELOCATABLE_TYPE)

Macro Definition Documentation

◆ QT_DECLARE_QESDP_SPECIALIZATION_DTOR

#define QT_DECLARE_QESDP_SPECIALIZATION_DTOR ( Class)
Value:
~QExplicitlySharedDataPointer()
Decrements the reference count of the shared data object.

Definition at line 367 of file qshareddata.h.

◆ QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT

#define QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT ( Class,
ExportMacro )
Value:

Definition at line 370 of file qshareddata.h.

◆ QT_DECLARE_QSDP_SPECIALIZATION_DTOR

#define QT_DECLARE_QSDP_SPECIALIZATION_DTOR ( Class)
Value:
~QSharedDataPointer()
Decrements the reference count of the shared data object.

Definition at line 354 of file qshareddata.h.

◆ QT_DECLARE_QSDP_SPECIALIZATION_DTOR_WITH_EXPORT

#define QT_DECLARE_QSDP_SPECIALIZATION_DTOR_WITH_EXPORT ( Class,
ExportMacro )
Value:

Definition at line 357 of file qshareddata.h.

◆ QT_DEFINE_QESDP_SPECIALIZATION_DTOR

#define QT_DEFINE_QESDP_SPECIALIZATION_DTOR ( Class)
Value:
{ \
if (d && !d->ref.deref()) \
delete d.get(); \
}

Definition at line 373 of file qshareddata.h.

◆ QT_DEFINE_QSDP_SPECIALIZATION_DTOR

#define QT_DEFINE_QSDP_SPECIALIZATION_DTOR ( Class)
Value:
{ \
if (d && !d->ref.deref()) \
delete d.get(); \
}

Definition at line 360 of file qshareddata.h.

Function Documentation

◆ Q_DECLARE_TYPEINFO_BODY() [1/2]

template<typename T>
Q_DECLARE_TYPEINFO_BODY ( QExplicitlySharedDataPointer< T > ,
Q_RELOCATABLE_TYPE  )

◆ Q_DECLARE_TYPEINFO_BODY() [2/2]

template<typename T>
Q_DECLARE_TYPEINFO_BODY ( QSharedDataPointer< T > ,
Q_RELOCATABLE_TYPE  )

◆ swap() [1/2]

template<typename T>
void swap ( QExplicitlySharedDataPointer< T > & p1,
QExplicitlySharedDataPointer< T > & p2 )
noexcept

Definition at line 348 of file qshareddata.h.

◆ swap() [2/2]

template<typename T>
void swap ( QSharedDataPointer< T > & p1,
QSharedDataPointer< T > & p2 )
noexcept

Definition at line 344 of file qshareddata.h.