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
QAtomicOps< X > Struct Template Reference

#include <qatomic_cxx11.h>

Collaboration diagram for QAtomicOps< X >:

Public Types

typedef std::atomic< XType

Static Public Member Functions

template<typename T>
static T load (const std::atomic< T > &_q_value) noexcept
template<typename T>
static T load (const volatile std::atomic< T > &_q_value) noexcept
template<typename T>
static T loadRelaxed (const std::atomic< T > &_q_value) noexcept
template<typename T>
static T loadRelaxed (const volatile std::atomic< T > &_q_value) noexcept
template<typename T>
static T loadAcquire (const std::atomic< T > &_q_value) noexcept
template<typename T>
static T loadAcquire (const volatile std::atomic< T > &_q_value) noexcept
template<typename T>
static void store (std::atomic< T > &_q_value, T newValue) noexcept
template<typename T>
static void storeRelaxed (std::atomic< T > &_q_value, T newValue) noexcept
template<typename T>
static void storeRelease (std::atomic< T > &_q_value, T newValue) noexcept
static bool isReferenceCountingNative () noexcept
static constexpr bool isReferenceCountingWaitFree () noexcept
template<typename T>
static bool ref (std::atomic< T > &_q_value)
template<typename T>
static bool deref (std::atomic< T > &_q_value) noexcept
static bool isTestAndSetNative () noexcept
static constexpr bool isTestAndSetWaitFree () noexcept
template<typename T>
static bool testAndSetRelaxed (std::atomic< T > &_q_value, T expectedValue, T newValue, T *currentValue=nullptr) noexcept
template<typename T>
static bool testAndSetAcquire (std::atomic< T > &_q_value, T expectedValue, T newValue, T *currentValue=nullptr) noexcept
template<typename T>
static bool testAndSetRelease (std::atomic< T > &_q_value, T expectedValue, T newValue, T *currentValue=nullptr) noexcept
template<typename T>
static bool testAndSetOrdered (std::atomic< T > &_q_value, T expectedValue, T newValue, T *currentValue=nullptr) noexcept
static bool isFetchAndStoreNative () noexcept
static constexpr bool isFetchAndStoreWaitFree () noexcept
template<typename T>
static T fetchAndStoreRelaxed (std::atomic< T > &_q_value, T newValue) noexcept
template<typename T>
static T fetchAndStoreAcquire (std::atomic< T > &_q_value, T newValue) noexcept
template<typename T>
static T fetchAndStoreRelease (std::atomic< T > &_q_value, T newValue) noexcept
template<typename T>
static T fetchAndStoreOrdered (std::atomic< T > &_q_value, T newValue) noexcept
static bool isFetchAndAddNative () noexcept
static constexpr bool isFetchAndAddWaitFree () noexcept
template<typename T>
static T fetchAndAddRelaxed (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndAddAcquire (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndAddRelease (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndAddOrdered (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndSubRelaxed (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndSubAcquire (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndSubRelease (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndSubOrdered (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndAndRelaxed (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndAndAcquire (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndAndRelease (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndAndOrdered (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndOrRelaxed (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndOrAcquire (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndOrRelease (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndOrOrdered (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndXorRelaxed (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndXorAcquire (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndXorRelease (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept
template<typename T>
static T fetchAndXorOrdered (std::atomic< T > &_q_value, typename QAtomicAdditiveType< T >::AdditiveT valueToAdd) noexcept

Detailed Description

template<typename X>
struct QAtomicOps< X >

Definition at line 184 of file qatomic_cxx11.h.

Member Typedef Documentation

◆ Type

template<typename X>
typedef std::atomic<X> QAtomicOps< X >::Type

Definition at line 186 of file qatomic_cxx11.h.

Member Function Documentation

◆ deref()

template<typename X>
template<typename T>
bool QAtomicOps< X >::deref ( std::atomic< T > & _q_value)
inlinestaticnoexcept

Definition at line 264 of file qatomic_cxx11.h.

◆ fetchAndAddAcquire()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndAddAcquire ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 347 of file qatomic_cxx11.h.

◆ fetchAndAddOrdered()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndAddOrdered ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 359 of file qatomic_cxx11.h.

◆ fetchAndAddRelaxed()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndAddRelaxed ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 341 of file qatomic_cxx11.h.

◆ fetchAndAddRelease()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndAddRelease ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 353 of file qatomic_cxx11.h.

◆ fetchAndAndAcquire()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndAndAcquire ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 395 of file qatomic_cxx11.h.

◆ fetchAndAndOrdered()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndAndOrdered ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 407 of file qatomic_cxx11.h.

◆ fetchAndAndRelaxed()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndAndRelaxed ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 389 of file qatomic_cxx11.h.

◆ fetchAndAndRelease()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndAndRelease ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 401 of file qatomic_cxx11.h.

◆ fetchAndOrAcquire()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndOrAcquire ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 419 of file qatomic_cxx11.h.

◆ fetchAndOrOrdered()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndOrOrdered ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 431 of file qatomic_cxx11.h.

◆ fetchAndOrRelaxed()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndOrRelaxed ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 413 of file qatomic_cxx11.h.

◆ fetchAndOrRelease()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndOrRelease ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 425 of file qatomic_cxx11.h.

◆ fetchAndStoreAcquire()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndStoreAcquire ( std::atomic< T > & _q_value,
T newValue )
inlinestaticnoexcept

Definition at line 320 of file qatomic_cxx11.h.

◆ fetchAndStoreOrdered()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndStoreOrdered ( std::atomic< T > & _q_value,
T newValue )
inlinestaticnoexcept

Definition at line 332 of file qatomic_cxx11.h.

◆ fetchAndStoreRelaxed()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndStoreRelaxed ( std::atomic< T > & _q_value,
T newValue )
inlinestaticnoexcept

Definition at line 314 of file qatomic_cxx11.h.

◆ fetchAndStoreRelease()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndStoreRelease ( std::atomic< T > & _q_value,
T newValue )
inlinestaticnoexcept

Definition at line 326 of file qatomic_cxx11.h.

◆ fetchAndSubAcquire()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndSubAcquire ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 371 of file qatomic_cxx11.h.

◆ fetchAndSubOrdered()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndSubOrdered ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 383 of file qatomic_cxx11.h.

◆ fetchAndSubRelaxed()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndSubRelaxed ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 365 of file qatomic_cxx11.h.

◆ fetchAndSubRelease()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndSubRelease ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 377 of file qatomic_cxx11.h.

◆ fetchAndXorAcquire()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndXorAcquire ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 443 of file qatomic_cxx11.h.

◆ fetchAndXorOrdered()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndXorOrdered ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 455 of file qatomic_cxx11.h.

◆ fetchAndXorRelaxed()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndXorRelaxed ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 437 of file qatomic_cxx11.h.

◆ fetchAndXorRelease()

template<typename X>
template<typename T>
T QAtomicOps< X >::fetchAndXorRelease ( std::atomic< T > & _q_value,
typename QAtomicAdditiveType< T >::AdditiveT valueToAdd )
inlinestaticnoexcept

Definition at line 449 of file qatomic_cxx11.h.

◆ isFetchAndAddNative()

template<typename X>
bool QAtomicOps< X >::isFetchAndAddNative ( )
inlinestaticnoexcept

Definition at line 337 of file qatomic_cxx11.h.

◆ isFetchAndAddWaitFree()

template<typename X>
constexpr bool QAtomicOps< X >::isFetchAndAddWaitFree ( )
inlinestaticconstexprnoexcept

Definition at line 338 of file qatomic_cxx11.h.

◆ isFetchAndStoreNative()

template<typename X>
bool QAtomicOps< X >::isFetchAndStoreNative ( )
inlinestaticnoexcept

Definition at line 310 of file qatomic_cxx11.h.

◆ isFetchAndStoreWaitFree()

template<typename X>
constexpr bool QAtomicOps< X >::isFetchAndStoreWaitFree ( )
inlinestaticconstexprnoexcept

Definition at line 311 of file qatomic_cxx11.h.

◆ isReferenceCountingNative()

template<typename X>
bool QAtomicOps< X >::isReferenceCountingNative ( )
inlinestaticnoexcept

Definition at line 242 of file qatomic_cxx11.h.

◆ isReferenceCountingWaitFree()

template<typename X>
constexpr bool QAtomicOps< X >::isReferenceCountingWaitFree ( )
inlinestaticconstexprnoexcept

Definition at line 243 of file qatomic_cxx11.h.

◆ isTestAndSetNative()

template<typename X>
bool QAtomicOps< X >::isTestAndSetNative ( )
inlinestaticnoexcept

Definition at line 270 of file qatomic_cxx11.h.

Referenced by QAtomicOps< T >::isFetchAndAddNative(), QAtomicOps< T >::isFetchAndStoreNative(), and QAtomicOps< T >::isReferenceCountingNative().

Here is the caller graph for this function:

◆ isTestAndSetWaitFree()

template<typename X>
constexpr bool QAtomicOps< X >::isTestAndSetWaitFree ( )
inlinestaticconstexprnoexcept

Definition at line 272 of file qatomic_cxx11.h.

◆ load() [1/2]

template<typename X>
template<typename T>
T QAtomicOps< X >::load ( const std::atomic< T > & _q_value)
inlinestaticnoexcept

Definition at line 189 of file qatomic_cxx11.h.

◆ load() [2/2]

template<typename X>
template<typename T>
T QAtomicOps< X >::load ( const volatile std::atomic< T > & _q_value)
inlinestaticnoexcept

Definition at line 195 of file qatomic_cxx11.h.

◆ loadAcquire() [1/2]

template<typename X>
template<typename T>
T QAtomicOps< X >::loadAcquire ( const std::atomic< T > & _q_value)
inlinestaticnoexcept

Definition at line 213 of file qatomic_cxx11.h.

◆ loadAcquire() [2/2]

template<typename X>
template<typename T>
T QAtomicOps< X >::loadAcquire ( const volatile std::atomic< T > & _q_value)
inlinestaticnoexcept

Definition at line 219 of file qatomic_cxx11.h.

◆ loadRelaxed() [1/2]

template<typename X>
template<typename T>
T QAtomicOps< X >::loadRelaxed ( const std::atomic< T > & _q_value)
inlinestaticnoexcept

Definition at line 201 of file qatomic_cxx11.h.

◆ loadRelaxed() [2/2]

template<typename X>
template<typename T>
T QAtomicOps< X >::loadRelaxed ( const volatile std::atomic< T > & _q_value)
inlinestaticnoexcept

Definition at line 207 of file qatomic_cxx11.h.

◆ ref()

template<typename X>
template<typename T>
bool QAtomicOps< X >::ref ( std::atomic< T > & _q_value)
inlinestatic

Definition at line 245 of file qatomic_cxx11.h.

◆ store()

template<typename X>
template<typename T>
void QAtomicOps< X >::store ( std::atomic< T > & _q_value,
T newValue )
inlinestaticnoexcept

Definition at line 225 of file qatomic_cxx11.h.

◆ storeRelaxed()

template<typename X>
template<typename T>
void QAtomicOps< X >::storeRelaxed ( std::atomic< T > & _q_value,
T newValue )
inlinestaticnoexcept

Definition at line 231 of file qatomic_cxx11.h.

◆ storeRelease()

template<typename X>
template<typename T>
void QAtomicOps< X >::storeRelease ( std::atomic< T > & _q_value,
T newValue )
inlinestaticnoexcept

Definition at line 237 of file qatomic_cxx11.h.

◆ testAndSetAcquire()

template<typename X>
template<typename T>
bool QAtomicOps< X >::testAndSetAcquire ( std::atomic< T > & _q_value,
T expectedValue,
T newValue,
T * currentValue = nullptr )
inlinestaticnoexcept

Definition at line 284 of file qatomic_cxx11.h.

◆ testAndSetOrdered()

template<typename X>
template<typename T>
bool QAtomicOps< X >::testAndSetOrdered ( std::atomic< T > & _q_value,
T expectedValue,
T newValue,
T * currentValue = nullptr )
inlinestaticnoexcept

Definition at line 302 of file qatomic_cxx11.h.

◆ testAndSetRelaxed()

template<typename X>
template<typename T>
bool QAtomicOps< X >::testAndSetRelaxed ( std::atomic< T > & _q_value,
T expectedValue,
T newValue,
T * currentValue = nullptr )
inlinestaticnoexcept

Definition at line 275 of file qatomic_cxx11.h.

◆ testAndSetRelease()

template<typename X>
template<typename T>
bool QAtomicOps< X >::testAndSetRelease ( std::atomic< T > & _q_value,
T expectedValue,
T newValue,
T * currentValue = nullptr )
inlinestaticnoexcept

Definition at line 293 of file qatomic_cxx11.h.


The documentation for this struct was generated from the following file: