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

(f84ce2ae42bd37f710f636a7d0951a8781120a71)

#include <QtCore/qglobal.h>
#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

class  QSharedData
 \inmodule QtCore More...
 
class  QAdoptSharedDataTag
 \inmodule QtCore \threadsafe More...
 
class  QSharedDataPointer< T >
 \inmodule QtCore More...
 
class  QExplicitlySharedDataPointer< T >
 \inmodule QtCore More...
 

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>
size_t qHash (const QSharedDataPointer< T > &ptr, size_t seed=0) noexcept
 
template<typename T>
size_t qHash (const QExplicitlySharedDataPointer< T > &ptr, size_t seed=0) 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 302 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 305 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 qshareddata.h:56

Definition at line 289 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 292 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(); \
}
double d
[1]

Definition at line 308 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 295 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  )

◆ qHash() [1/2]

template<typename T>
size_t qHash ( const QExplicitlySharedDataPointer< T > & ptr,
size_t seed = 0 )
noexcept

Definition at line 281 of file qshareddata.h.

◆ qHash() [2/2]

template<typename T>
size_t qHash ( const QSharedDataPointer< T > & ptr,
size_t seed = 0 )
noexcept

Definition at line 276 of file qshareddata.h.

◆ swap() [1/2]

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

Definition at line 272 of file qshareddata.h.

◆ swap() [2/2]

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

Definition at line 268 of file qshareddata.h.