Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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 183 of file qatomic_cxx11.h.

Member Typedef Documentation

◆ Type

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

Definition at line 185 of file qatomic_cxx11.h.

Member Function Documentation

◆ deref()

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

Definition at line 263 of file qatomic_cxx11.h.

◆ fetchAndAddAcquire()

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

Definition at line 346 of file qatomic_cxx11.h.

◆ fetchAndAddOrdered()

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

Definition at line 358 of file qatomic_cxx11.h.

Referenced by atomicAdd().

+ Here is the caller graph for this function:

◆ fetchAndAddRelaxed()

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

Definition at line 340 of file qatomic_cxx11.h.

◆ fetchAndAddRelease()

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

Definition at line 352 of file qatomic_cxx11.h.

◆ fetchAndAndAcquire()

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

Definition at line 394 of file qatomic_cxx11.h.

◆ fetchAndAndOrdered()

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

Definition at line 406 of file qatomic_cxx11.h.

Referenced by atomicAnd().

+ Here is the caller graph for this function:

◆ fetchAndAndRelaxed()

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

Definition at line 388 of file qatomic_cxx11.h.

◆ fetchAndAndRelease()

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

Definition at line 400 of file qatomic_cxx11.h.

◆ fetchAndOrAcquire()

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

Definition at line 418 of file qatomic_cxx11.h.

◆ fetchAndOrOrdered()

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

Definition at line 430 of file qatomic_cxx11.h.

Referenced by atomicOr().

+ Here is the caller graph for this function:

◆ fetchAndOrRelaxed()

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

Definition at line 412 of file qatomic_cxx11.h.

◆ fetchAndOrRelease()

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

Definition at line 424 of file qatomic_cxx11.h.

◆ fetchAndStoreAcquire()

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

Definition at line 319 of file qatomic_cxx11.h.

◆ fetchAndStoreOrdered()

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

Definition at line 331 of file qatomic_cxx11.h.

Referenced by atomicExchange().

+ Here is the caller graph for this function:

◆ fetchAndStoreRelaxed()

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

Definition at line 313 of file qatomic_cxx11.h.

◆ fetchAndStoreRelease()

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

Definition at line 325 of file qatomic_cxx11.h.

◆ fetchAndSubAcquire()

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

Definition at line 370 of file qatomic_cxx11.h.

◆ fetchAndSubOrdered()

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

Definition at line 382 of file qatomic_cxx11.h.

Referenced by atomicSub().

+ Here is the caller graph for this function:

◆ fetchAndSubRelaxed()

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

Definition at line 364 of file qatomic_cxx11.h.

◆ fetchAndSubRelease()

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

Definition at line 376 of file qatomic_cxx11.h.

◆ fetchAndXorAcquire()

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

Definition at line 442 of file qatomic_cxx11.h.

◆ fetchAndXorOrdered()

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

Definition at line 454 of file qatomic_cxx11.h.

Referenced by atomicXor().

+ Here is the caller graph for this function:

◆ fetchAndXorRelaxed()

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

Definition at line 436 of file qatomic_cxx11.h.

◆ fetchAndXorRelease()

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

Definition at line 448 of file qatomic_cxx11.h.

◆ isFetchAndAddNative()

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

Definition at line 336 of file qatomic_cxx11.h.

◆ isFetchAndAddWaitFree()

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

Definition at line 337 of file qatomic_cxx11.h.

◆ isFetchAndStoreNative()

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

Definition at line 309 of file qatomic_cxx11.h.

◆ isFetchAndStoreWaitFree()

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

Definition at line 310 of file qatomic_cxx11.h.

◆ isReferenceCountingNative()

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

Definition at line 241 of file qatomic_cxx11.h.

◆ isReferenceCountingWaitFree()

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

Definition at line 242 of file qatomic_cxx11.h.

◆ isTestAndSetNative()

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

Definition at line 269 of file qatomic_cxx11.h.

References X.

◆ isTestAndSetWaitFree()

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

Definition at line 271 of file qatomic_cxx11.h.

◆ load() [1/2]

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

Definition at line 188 of file qatomic_cxx11.h.

◆ load() [2/2]

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

Definition at line 194 of file qatomic_cxx11.h.

◆ loadAcquire() [1/2]

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

Definition at line 212 of file qatomic_cxx11.h.

◆ loadAcquire() [2/2]

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

Definition at line 218 of file qatomic_cxx11.h.

◆ loadRelaxed() [1/2]

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

Definition at line 200 of file qatomic_cxx11.h.

Referenced by atomicLoad().

+ Here is the caller graph for this function:

◆ loadRelaxed() [2/2]

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

Definition at line 206 of file qatomic_cxx11.h.

◆ ref()

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

Definition at line 244 of file qatomic_cxx11.h.

◆ store()

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

Definition at line 224 of file qatomic_cxx11.h.

◆ storeRelaxed()

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

Definition at line 230 of file qatomic_cxx11.h.

Referenced by atomicStore().

+ Here is the caller graph for this function:

◆ storeRelease()

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

Definition at line 236 of file qatomic_cxx11.h.

◆ testAndSetAcquire()

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

Definition at line 283 of file qatomic_cxx11.h.

References currentValue.

◆ testAndSetOrdered()

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

Definition at line 301 of file qatomic_cxx11.h.

References currentValue.

Referenced by atomicCompareExchange().

+ Here is the caller graph for this function:

◆ testAndSetRelaxed()

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

Definition at line 274 of file qatomic_cxx11.h.

References currentValue.

◆ testAndSetRelease()

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

Definition at line 292 of file qatomic_cxx11.h.

References currentValue.


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