QtBase  v6.3.1
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
QBasicAtomicInteger< T > Class Template Reference

#include <qbasicatomic.h>

Inheritance diagram for QBasicAtomicInteger< T >:
Inheritance graph
[legend]
Collaboration diagram for QBasicAtomicInteger< T >:
Collaboration graph
[legend]

Public Types

typedef T Type
 
typedef QAtomicOps< TOps
 

Public Member Functions

T loadRelaxed () const noexcept
 
void storeRelaxed (T newValue) noexcept
 
T loadAcquire () const noexcept
 
void storeRelease (T newValue) noexcept
 
 operator T () const noexcept
 
T operator= (T newValue) noexcept
 
bool ref () noexcept
 
bool deref () noexcept
 
bool testAndSetRelaxed (T expectedValue, T newValue) noexcept
 
bool testAndSetAcquire (T expectedValue, T newValue) noexcept
 
bool testAndSetRelease (T expectedValue, T newValue) noexcept
 
bool testAndSetOrdered (T expectedValue, T newValue) noexcept
 
bool testAndSetRelaxed (T expectedValue, T newValue, T &currentValue) noexcept
 
bool testAndSetAcquire (T expectedValue, T newValue, T &currentValue) noexcept
 
bool testAndSetRelease (T expectedValue, T newValue, T &currentValue) noexcept
 
bool testAndSetOrdered (T expectedValue, T newValue, T &currentValue) noexcept
 
T fetchAndStoreRelaxed (T newValue) noexcept
 
T fetchAndStoreAcquire (T newValue) noexcept
 
T fetchAndStoreRelease (T newValue) noexcept
 
T fetchAndStoreOrdered (T newValue) noexcept
 
T fetchAndAddRelaxed (T valueToAdd) noexcept
 
T fetchAndAddAcquire (T valueToAdd) noexcept
 
T fetchAndAddRelease (T valueToAdd) noexcept
 
T fetchAndAddOrdered (T valueToAdd) noexcept
 
T fetchAndSubRelaxed (T valueToAdd) noexcept
 
T fetchAndSubAcquire (T valueToAdd) noexcept
 
T fetchAndSubRelease (T valueToAdd) noexcept
 
T fetchAndSubOrdered (T valueToAdd) noexcept
 
T fetchAndAndRelaxed (T valueToAdd) noexcept
 
T fetchAndAndAcquire (T valueToAdd) noexcept
 
T fetchAndAndRelease (T valueToAdd) noexcept
 
T fetchAndAndOrdered (T valueToAdd) noexcept
 
T fetchAndOrRelaxed (T valueToAdd) noexcept
 
T fetchAndOrAcquire (T valueToAdd) noexcept
 
T fetchAndOrRelease (T valueToAdd) noexcept
 
T fetchAndOrOrdered (T valueToAdd) noexcept
 
T fetchAndXorRelaxed (T valueToAdd) noexcept
 
T fetchAndXorAcquire (T valueToAdd) noexcept
 
T fetchAndXorRelease (T valueToAdd) noexcept
 
T fetchAndXorOrdered (T valueToAdd) noexcept
 
T operator++ () noexcept
 
T operator++ (int) noexcept
 
T operator-- () noexcept
 
T operator-- (int) noexcept
 
T operator+= (T v) noexcept
 
T operator-= (T v) noexcept
 
T operator&= (T v) noexcept
 
T operator|= (T v) noexcept
 
T operator^= (T v) noexcept
 
 QBasicAtomicInteger ()=default
 
constexpr QBasicAtomicInteger (T value) noexcept
 
 QBasicAtomicInteger (const QBasicAtomicInteger &)=delete
 
QBasicAtomicIntegeroperator= (const QBasicAtomicInteger &)=delete
 
QBasicAtomicIntegeroperator= (const QBasicAtomicInteger &) volatile=delete
 

Static Public Member Functions

static constexpr bool isReferenceCountingNative () noexcept
 
static constexpr bool isReferenceCountingWaitFree () noexcept
 
static constexpr bool isTestAndSetNative () noexcept
 
static constexpr bool isTestAndSetWaitFree () noexcept
 
static constexpr bool isFetchAndStoreNative () noexcept
 
static constexpr bool isFetchAndStoreWaitFree () noexcept
 
static constexpr bool isFetchAndAddNative () noexcept
 
static constexpr bool isFetchAndAddWaitFree () noexcept
 

Public Attributes

Ops::Type _q_value
 

Detailed Description

template<typename T>
class QBasicAtomicInteger< T >

Definition at line 77 of file qbasicatomic.h.

Member Typedef Documentation

◆ Ops

template<typename T >
typedef QAtomicOps<T> QBasicAtomicInteger< T >::Ops

Definition at line 81 of file qbasicatomic.h.

◆ Type

template<typename T >
typedef T QBasicAtomicInteger< T >::Type

Definition at line 80 of file qbasicatomic.h.

Constructor & Destructor Documentation

◆ QBasicAtomicInteger() [1/3]

template<typename T >
QBasicAtomicInteger< T >::QBasicAtomicInteger ( )
default

◆ QBasicAtomicInteger() [2/3]

template<typename T >
constexpr QBasicAtomicInteger< T >::QBasicAtomicInteger ( T  value)
inlineconstexprnoexcept

Definition at line 208 of file qbasicatomic.h.

◆ QBasicAtomicInteger() [3/3]

template<typename T >
QBasicAtomicInteger< T >::QBasicAtomicInteger ( const QBasicAtomicInteger< T > &  )
delete

Member Function Documentation

◆ deref()

template<typename T >
bool QBasicAtomicInteger< T >::deref ( )
inlinenoexcept

Definition at line 102 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndAddAcquire()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndAddAcquire ( T  valueToAdd)
inlinenoexcept

Definition at line 142 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndAddOrdered()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndAddOrdered ( T  valueToAdd)
inlinenoexcept

Definition at line 146 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndAddRelaxed()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndAddRelaxed ( T  valueToAdd)
inlinenoexcept

Definition at line 140 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndAddRelease()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndAddRelease ( T  valueToAdd)
inlinenoexcept

Definition at line 144 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndAndAcquire()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndAndAcquire ( T  valueToAdd)
inlinenoexcept

Definition at line 160 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndAndOrdered()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndAndOrdered ( T  valueToAdd)
inlinenoexcept

Definition at line 164 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndAndRelaxed()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndAndRelaxed ( T  valueToAdd)
inlinenoexcept

Definition at line 158 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndAndRelease()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndAndRelease ( T  valueToAdd)
inlinenoexcept

Definition at line 162 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndOrAcquire()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndOrAcquire ( T  valueToAdd)
inlinenoexcept

Definition at line 169 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndOrOrdered()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndOrOrdered ( T  valueToAdd)
inlinenoexcept

Definition at line 173 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndOrRelaxed()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndOrRelaxed ( T  valueToAdd)
inlinenoexcept

Definition at line 167 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndOrRelease()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndOrRelease ( T  valueToAdd)
inlinenoexcept

Definition at line 171 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndStoreAcquire()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndStoreAcquire ( T  newValue)
inlinenoexcept

Definition at line 130 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndStoreOrdered()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndStoreOrdered ( T  newValue)
inlinenoexcept

Definition at line 134 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndStoreRelaxed()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndStoreRelaxed ( T  newValue)
inlinenoexcept

Definition at line 128 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndStoreRelease()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndStoreRelease ( T  newValue)
inlinenoexcept

Definition at line 132 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndSubAcquire()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndSubAcquire ( T  valueToAdd)
inlinenoexcept

Definition at line 151 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndSubOrdered()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndSubOrdered ( T  valueToAdd)
inlinenoexcept

Definition at line 155 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndSubRelaxed()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndSubRelaxed ( T  valueToAdd)
inlinenoexcept

Definition at line 149 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndSubRelease()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndSubRelease ( T  valueToAdd)
inlinenoexcept

Definition at line 153 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndXorAcquire()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndXorAcquire ( T  valueToAdd)
inlinenoexcept

Definition at line 178 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndXorOrdered()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndXorOrdered ( T  valueToAdd)
inlinenoexcept

Definition at line 182 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetchAndXorRelaxed()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndXorRelaxed ( T  valueToAdd)
inlinenoexcept

Definition at line 176 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndXorRelease()

template<typename T >
T QBasicAtomicInteger< T >::fetchAndXorRelease ( T  valueToAdd)
inlinenoexcept

Definition at line 180 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isFetchAndAddNative()

template<typename T >
static constexpr bool QBasicAtomicInteger< T >::isFetchAndAddNative ( )
inlinestaticconstexprnoexcept

Definition at line 137 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isFetchAndAddWaitFree()

template<typename T >
static constexpr bool QBasicAtomicInteger< T >::isFetchAndAddWaitFree ( )
inlinestaticconstexprnoexcept

Definition at line 138 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isFetchAndStoreNative()

template<typename T >
static constexpr bool QBasicAtomicInteger< T >::isFetchAndStoreNative ( )
inlinestaticconstexprnoexcept

Definition at line 125 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isFetchAndStoreWaitFree()

template<typename T >
static constexpr bool QBasicAtomicInteger< T >::isFetchAndStoreWaitFree ( )
inlinestaticconstexprnoexcept

Definition at line 126 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isReferenceCountingNative()

template<typename T >
static constexpr bool QBasicAtomicInteger< T >::isReferenceCountingNative ( )
inlinestaticconstexprnoexcept

Definition at line 98 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isReferenceCountingWaitFree()

template<typename T >
static constexpr bool QBasicAtomicInteger< T >::isReferenceCountingWaitFree ( )
inlinestaticconstexprnoexcept

Definition at line 99 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isTestAndSetNative()

template<typename T >
static constexpr bool QBasicAtomicInteger< T >::isTestAndSetNative ( )
inlinestaticconstexprnoexcept

Definition at line 104 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isTestAndSetWaitFree()

template<typename T >
static constexpr bool QBasicAtomicInteger< T >::isTestAndSetWaitFree ( )
inlinestaticconstexprnoexcept

Definition at line 105 of file qbasicatomic.h.

Here is the call graph for this function:

◆ loadAcquire()

template<typename T >
T QBasicAtomicInteger< T >::loadAcquire ( ) const
inlinenoexcept

Definition at line 93 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadRelaxed()

template<typename T >
T QBasicAtomicInteger< T >::loadRelaxed ( ) const
inlinenoexcept

Definition at line 90 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator T()

template<typename T >
QBasicAtomicInteger< T >::operator T ( ) const
inlinenoexcept

Definition at line 95 of file qbasicatomic.h.

◆ operator&=()

template<typename T >
T QBasicAtomicInteger< T >::operator&= ( T  v)
inlinenoexcept

Definition at line 198 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator++() [1/2]

template<typename T >
T QBasicAtomicInteger< T >::operator++ ( )
inlinenoexcept

Definition at line 185 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator++() [2/2]

template<typename T >
T QBasicAtomicInteger< T >::operator++ ( int  )
inlinenoexcept

Definition at line 187 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator+=()

template<typename T >
T QBasicAtomicInteger< T >::operator+= ( T  v)
inlinenoexcept

Definition at line 194 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator--() [1/2]

template<typename T >
T QBasicAtomicInteger< T >::operator-- ( )
inlinenoexcept

Definition at line 189 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator--() [2/2]

template<typename T >
T QBasicAtomicInteger< T >::operator-- ( int  )
inlinenoexcept

Definition at line 191 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator-=()

template<typename T >
T QBasicAtomicInteger< T >::operator-= ( T  v)
inlinenoexcept

Definition at line 196 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator=() [1/3]

template<typename T >
QBasicAtomicInteger& QBasicAtomicInteger< T >::operator= ( const QBasicAtomicInteger< T > &  ) volatile
delete

◆ operator=() [2/3]

template<typename T >
QBasicAtomicInteger& QBasicAtomicInteger< T >::operator= ( const QBasicAtomicInteger< T > &  )
delete

◆ operator=() [3/3]

template<typename T >
T QBasicAtomicInteger< T >::operator= ( T  newValue)
inlinenoexcept

Definition at line 96 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator^=()

template<typename T >
T QBasicAtomicInteger< T >::operator^= ( T  v)
inlinenoexcept

Definition at line 202 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator|=()

template<typename T >
T QBasicAtomicInteger< T >::operator|= ( T  v)
inlinenoexcept

Definition at line 200 of file qbasicatomic.h.

Here is the call graph for this function:

◆ ref()

template<typename T >
bool QBasicAtomicInteger< T >::ref ( )
inlinenoexcept

Definition at line 101 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ storeRelaxed()

template<typename T >
void QBasicAtomicInteger< T >::storeRelaxed ( T  newValue)
inlinenoexcept

Definition at line 91 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ storeRelease()

template<typename T >
void QBasicAtomicInteger< T >::storeRelease ( T  newValue)
inlinenoexcept

Definition at line 94 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testAndSetAcquire() [1/2]

template<typename T >
bool QBasicAtomicInteger< T >::testAndSetAcquire ( T  expectedValue,
T  newValue 
)
inlinenoexcept

Definition at line 109 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testAndSetAcquire() [2/2]

template<typename T >
bool QBasicAtomicInteger< T >::testAndSetAcquire ( T  expectedValue,
T  newValue,
T currentValue 
)
inlinenoexcept

Definition at line 118 of file qbasicatomic.h.

Here is the call graph for this function:

◆ testAndSetOrdered() [1/2]

template<typename T >
bool QBasicAtomicInteger< T >::testAndSetOrdered ( T  expectedValue,
T  newValue 
)
inlinenoexcept

Definition at line 113 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testAndSetOrdered() [2/2]

template<typename T >
bool QBasicAtomicInteger< T >::testAndSetOrdered ( T  expectedValue,
T  newValue,
T currentValue 
)
inlinenoexcept

Definition at line 122 of file qbasicatomic.h.

Here is the call graph for this function:

◆ testAndSetRelaxed() [1/2]

template<typename T >
bool QBasicAtomicInteger< T >::testAndSetRelaxed ( T  expectedValue,
T  newValue 
)
inlinenoexcept

Definition at line 107 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testAndSetRelaxed() [2/2]

template<typename T >
bool QBasicAtomicInteger< T >::testAndSetRelaxed ( T  expectedValue,
T  newValue,
T currentValue 
)
inlinenoexcept

Definition at line 116 of file qbasicatomic.h.

Here is the call graph for this function:

◆ testAndSetRelease() [1/2]

template<typename T >
bool QBasicAtomicInteger< T >::testAndSetRelease ( T  expectedValue,
T  newValue 
)
inlinenoexcept

Definition at line 111 of file qbasicatomic.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testAndSetRelease() [2/2]

template<typename T >
bool QBasicAtomicInteger< T >::testAndSetRelease ( T  expectedValue,
T  newValue,
T currentValue 
)
inlinenoexcept

Definition at line 120 of file qbasicatomic.h.

Here is the call graph for this function:

Member Data Documentation

◆ _q_value

template<typename T >
Ops::Type QBasicAtomicInteger< T >::_q_value

Definition at line 86 of file qbasicatomic.h.


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