8#include <QtCore/qatomic_cxx11.h>
18#pragma qt_no_master_include
19#pragma qt_sync_stop_processing
27 typedef QAtomicOps<T>
Ops;
29 static_assert(std::is_integral_v<T>,
"template parameter is not an integral type");
30 static_assert(
QAtomicOpsSupport<
sizeof(T)>::IsSupported,
"template parameter is an integral of a size not supported on this platform");
54 {
return Ops::testAndSetRelaxed(
_q_value, expectedValue, newValue); }
56 {
return Ops::testAndSetAcquire(
_q_value, expectedValue, newValue); }
58 {
return Ops::testAndSetRelease(
_q_value, expectedValue, newValue); }
60 {
return Ops::testAndSetOrdered(
_q_value, expectedValue, newValue); }
75 {
return Ops::fetchAndStoreRelaxed(
_q_value, newValue); }
77 {
return Ops::fetchAndStoreAcquire(
_q_value, newValue); }
79 {
return Ops::fetchAndStoreRelease(
_q_value, newValue); }
81 {
return Ops::fetchAndStoreOrdered(
_q_value, newValue); }
87 {
return Ops::fetchAndAddRelaxed(
_q_value, valueToAdd); }
89 {
return Ops::fetchAndAddAcquire(
_q_value, valueToAdd); }
91 {
return Ops::fetchAndAddRelease(
_q_value, valueToAdd); }
93 {
return Ops::fetchAndAddOrdered(
_q_value, valueToAdd); }
96 {
return Ops::fetchAndSubRelaxed(
_q_value, valueToAdd); }
98 {
return Ops::fetchAndSubAcquire(
_q_value, valueToAdd); }
100 {
return Ops::fetchAndSubRelease(
_q_value, valueToAdd); }
102 {
return Ops::fetchAndSubOrdered(
_q_value, valueToAdd); }
105 {
return Ops::fetchAndAndRelaxed(
_q_value, valueToAdd); }
107 {
return Ops::fetchAndAndAcquire(
_q_value, valueToAdd); }
109 {
return Ops::fetchAndAndRelease(
_q_value, valueToAdd); }
111 {
return Ops::fetchAndAndOrdered(
_q_value, valueToAdd); }
114 {
return Ops::fetchAndOrRelaxed(
_q_value, valueToAdd); }
116 {
return Ops::fetchAndOrAcquire(
_q_value, valueToAdd); }
118 {
return Ops::fetchAndOrRelease(
_q_value, valueToAdd); }
120 {
return Ops::fetchAndOrOrdered(
_q_value, valueToAdd); }
123 {
return Ops::fetchAndXorRelaxed(
_q_value, valueToAdd); }
125 {
return Ops::fetchAndXorAcquire(
_q_value, valueToAdd); }
127 {
return Ops::fetchAndXorRelease(
_q_value, valueToAdd); }
129 {
return Ops::fetchAndXorOrdered(
_q_value, valueToAdd); }
165 typedef QAtomicOps<Type>
Ops;
184 {
return Ops::testAndSetRelaxed(
_q_value, expectedValue, newValue); }
186 {
return Ops::testAndSetAcquire(
_q_value, expectedValue, newValue); }
188 {
return Ops::testAndSetRelease(
_q_value, expectedValue, newValue); }
190 {
return Ops::testAndSetOrdered(
_q_value, expectedValue, newValue); }
205 {
return Ops::fetchAndStoreRelaxed(
_q_value, newValue); }
207 {
return Ops::fetchAndStoreAcquire(
_q_value, newValue); }
209 {
return Ops::fetchAndStoreRelease(
_q_value, newValue); }
211 {
return Ops::fetchAndStoreOrdered(
_q_value, newValue); }
217 {
return Ops::fetchAndAddRelaxed(
_q_value, valueToAdd); }
219 {
return Ops::fetchAndAddAcquire(
_q_value, valueToAdd); }
221 {
return Ops::fetchAndAddRelease(
_q_value, valueToAdd); }
223 {
return Ops::fetchAndAddOrdered(
_q_value, valueToAdd); }
226 {
return Ops::fetchAndSubRelaxed(
_q_value, valueToAdd); }
228 {
return Ops::fetchAndSubAcquire(
_q_value, valueToAdd); }
230 {
return Ops::fetchAndSubRelease(
_q_value, valueToAdd); }
232 {
return Ops::fetchAndSubOrdered(
_q_value, valueToAdd); }
254#ifndef Q_BASIC_ATOMIC_INITIALIZER
255# define Q_BASIC_ATOMIC_INITIALIZER(a) { (a) }
T fetchAndOrAcquire(T valueToAdd) noexcept
T fetchAndOrRelaxed(T valueToAdd) noexcept
T fetchAndStoreRelease(T newValue) noexcept
T operator--(int) noexcept
T fetchAndAddOrdered(T valueToAdd) noexcept
static constexpr bool isTestAndSetNative() noexcept
T operator+=(T v) noexcept
bool testAndSetRelaxed(T expectedValue, T newValue) noexcept
bool testAndSetOrdered(T expectedValue, T newValue) noexcept
T fetchAndAddAcquire(T valueToAdd) noexcept
T fetchAndSubAcquire(T valueToAdd) noexcept
static constexpr bool isFetchAndAddWaitFree() noexcept
static constexpr bool isReferenceCountingNative() noexcept
T operator=(T newValue) noexcept
T fetchAndXorRelease(T valueToAdd) noexcept
T fetchAndAndOrdered(T valueToAdd) noexcept
T fetchAndXorRelaxed(T valueToAdd) noexcept
void storeRelaxed(T newValue) noexcept
T fetchAndStoreOrdered(T newValue) noexcept
bool testAndSetAcquire(T expectedValue, T newValue, T ¤tValue) noexcept
T loadAcquire() const noexcept
T fetchAndAndRelease(T valueToAdd) noexcept
T fetchAndStoreAcquire(T newValue) noexcept
bool testAndSetAcquire(T expectedValue, T newValue) noexcept
bool testAndSetRelease(T expectedValue, T newValue, T ¤tValue) noexcept
bool testAndSetOrdered(T expectedValue, T newValue, T ¤tValue) noexcept
T fetchAndStoreRelaxed(T newValue) noexcept
T fetchAndSubRelaxed(T valueToAdd) noexcept
QBasicAtomicInteger(const QBasicAtomicInteger &)=delete
T operator-=(T v) noexcept
T fetchAndAddRelaxed(T valueToAdd) noexcept
static constexpr bool isReferenceCountingWaitFree() noexcept
bool testAndSetRelease(T expectedValue, T newValue) noexcept
static constexpr bool isFetchAndAddNative() noexcept
bool testAndSetRelaxed(T expectedValue, T newValue, T ¤tValue) noexcept
QBasicAtomicInteger & operator=(const QBasicAtomicInteger &) volatile =delete
T fetchAndAndRelaxed(T valueToAdd) noexcept
T fetchAndOrRelease(T valueToAdd) noexcept
T fetchAndAndAcquire(T valueToAdd) noexcept
T operator++(int) noexcept
T operator^=(T v) noexcept
T fetchAndXorAcquire(T valueToAdd) noexcept
T fetchAndOrOrdered(T valueToAdd) noexcept
static constexpr bool isTestAndSetWaitFree() noexcept
T operator|=(T v) noexcept
T fetchAndAddRelease(T valueToAdd) noexcept
void storeRelease(T newValue) noexcept
QBasicAtomicInteger & operator=(const QBasicAtomicInteger &)=delete
static constexpr bool isFetchAndStoreNative() noexcept
T fetchAndSubOrdered(T valueToAdd) noexcept
T loadRelaxed() const noexcept
static constexpr bool isFetchAndStoreWaitFree() noexcept
QBasicAtomicInteger()=default
constexpr QBasicAtomicInteger(T value) noexcept
T fetchAndXorOrdered(T valueToAdd) noexcept
T fetchAndSubRelease(T valueToAdd) noexcept
T operator&=(T v) noexcept
bool testAndSetOrdered(Type expectedValue, Type newValue, Type ¤tValue) noexcept
QBasicAtomicPointer & operator=(const QBasicAtomicPointer &)=delete
Type fetchAndAddOrdered(qptrdiff valueToAdd) noexcept
bool testAndSetRelaxed(Type expectedValue, Type newValue) noexcept
Type fetchAndStoreAcquire(Type newValue) noexcept
Type fetchAndStoreRelease(Type newValue) noexcept
Type operator-=(qptrdiff valueToSub) noexcept
static constexpr bool isFetchAndAddNative() noexcept
bool testAndSetRelease(Type expectedValue, Type newValue) noexcept
Type fetchAndStoreOrdered(Type newValue) noexcept
QBasicAtomicPointer()=default
Type operator=(Type newValue) noexcept
constexpr QBasicAtomicPointer(Type value) noexcept
bool testAndSetAcquire(Type expectedValue, Type newValue) noexcept
bool testAndSetRelease(Type expectedValue, Type newValue, Type ¤tValue) noexcept
Type operator++(int) noexcept
QBasicAtomicPointer(const QBasicAtomicPointer &)=delete
Type loadAcquire() const noexcept
Type operator--(int) noexcept
bool testAndSetAcquire(Type expectedValue, Type newValue, Type ¤tValue) noexcept
Type fetchAndSubRelaxed(qptrdiff valueToAdd) noexcept
static constexpr bool isFetchAndAddWaitFree() noexcept
bool testAndSetOrdered(Type expectedValue, Type newValue) noexcept
static constexpr bool isTestAndSetNative() noexcept
Type operator+=(qptrdiff valueToAdd) noexcept
Type fetchAndSubOrdered(qptrdiff valueToAdd) noexcept
Type loadRelaxed() const noexcept
Type operator++() noexcept
static constexpr bool isFetchAndStoreWaitFree() noexcept
Type fetchAndSubRelease(qptrdiff valueToAdd) noexcept
QBasicAtomicPointer & operator=(const QBasicAtomicPointer &) volatile =delete
void storeRelaxed(Type newValue) noexcept
bool testAndSetRelaxed(Type expectedValue, Type newValue, Type ¤tValue) noexcept
Type fetchAndAddRelaxed(qptrdiff valueToAdd) noexcept
void storeRelease(Type newValue) noexcept
Type fetchAndSubAcquire(qptrdiff valueToAdd) noexcept
Type fetchAndAddRelease(qptrdiff valueToAdd) noexcept
static constexpr bool isTestAndSetWaitFree() noexcept
Type fetchAndAddAcquire(qptrdiff valueToAdd) noexcept
Type operator--() noexcept
Type fetchAndStoreRelaxed(Type newValue) noexcept
static constexpr bool isFetchAndStoreNative() noexcept
Combined button and popup list for selecting options.
QBasicAtomicInteger< int > QBasicAtomicInt
#define QT_WARNING_DISABLE_MSVC(number)
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLsizei const GLfloat * v
[13]