20 #include <QtCore/QAtomicPointer>
29 static int loadRelaxed(
const QAtomicInt& atomInt);
31 static void storeRelaxed(QAtomicInt* atomInt,
int newVal);
32 static void storeRelease(QAtomicInt* atomInt,
int newVal);
35 template<
typename T>
static T* loadRelaxed(
const QAtomicPointer<T>& atomPtr);
37 template<
typename T>
static void storeRelaxed(QAtomicPointer<T>* atomPtr, T* newPtr);
38 template<
typename T>
static void storeRelease(QAtomicPointer<T>* atomPtr, T* newPtr);
49 #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
50 return atomPtr.load();
58 #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
59 atomPtr->store(newPtr);
61 atomPtr->fetchAndStoreRelaxed(newPtr);
67 #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
68 atomPtr->storeRelease(newPtr);
70 atomPtr->fetchAndStoreRelease(newPtr);
Provides a collection of tools around QAtomicInt and QAtomicPointer.
Definition: qatomic_utils.h:25
static void storeRelease(QAtomicInt *atomInt, int newVal)
Definition: qatomic_utils.cpp:54
static int loadRelaxed(const QAtomicInt &atomInt)
Definition: qatomic_utils.cpp:36
#define QTTOOLS_CORE_EXPORT
Definition: core.h:27
Definition: grid_numbering.cpp:19
static void storeRelaxed(QAtomicInt *atomInt, int newVal)
Definition: qatomic_utils.cpp:45