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

#include <qbasicatomic.h>

Inheritance diagram for QBasicAtomicPointer< X >:
Inheritance graph
[legend]
Collaboration diagram for QBasicAtomicPointer< X >:
Collaboration graph
[legend]

Public Types

typedef XType
 
typedef QAtomicOps< TypeOps
 
typedef Ops::Type AtomicType
 

Public Member Functions

Type loadRelaxed () const noexcept
 
void storeRelaxed (Type newValue) noexcept
 
 operator Type () const noexcept
 
Type operator= (Type newValue) noexcept
 
Type loadAcquire () const noexcept
 
void storeRelease (Type newValue) noexcept
 
bool testAndSetRelaxed (Type expectedValue, Type newValue) noexcept
 
bool testAndSetAcquire (Type expectedValue, Type newValue) noexcept
 
bool testAndSetRelease (Type expectedValue, Type newValue) noexcept
 
bool testAndSetOrdered (Type expectedValue, Type newValue) noexcept
 
bool testAndSetRelaxed (Type expectedValue, Type newValue, Type &currentValue) noexcept
 
bool testAndSetAcquire (Type expectedValue, Type newValue, Type &currentValue) noexcept
 
bool testAndSetRelease (Type expectedValue, Type newValue, Type &currentValue) noexcept
 
bool testAndSetOrdered (Type expectedValue, Type newValue, Type &currentValue) noexcept
 
Type fetchAndStoreRelaxed (Type newValue) noexcept
 
Type fetchAndStoreAcquire (Type newValue) noexcept
 
Type fetchAndStoreRelease (Type newValue) noexcept
 
Type fetchAndStoreOrdered (Type newValue) noexcept
 
Type fetchAndAddRelaxed (qptrdiff valueToAdd) noexcept
 
Type fetchAndAddAcquire (qptrdiff valueToAdd) noexcept
 
Type fetchAndAddRelease (qptrdiff valueToAdd) noexcept
 
Type fetchAndAddOrdered (qptrdiff valueToAdd) noexcept
 
Type fetchAndSubRelaxed (qptrdiff valueToAdd) noexcept
 
Type fetchAndSubAcquire (qptrdiff valueToAdd) noexcept
 
Type fetchAndSubRelease (qptrdiff valueToAdd) noexcept
 
Type fetchAndSubOrdered (qptrdiff valueToAdd) noexcept
 
Type operator++ () noexcept
 
Type operator++ (int) noexcept
 
Type operator-- () noexcept
 
Type operator-- (int) noexcept
 
Type operator+= (qptrdiff valueToAdd) noexcept
 
Type operator-= (qptrdiff valueToSub) noexcept
 
 QBasicAtomicPointer ()=default
 
constexpr QBasicAtomicPointer (Type value) noexcept
 
 QBasicAtomicPointer (const QBasicAtomicPointer &)=delete
 
QBasicAtomicPointeroperator= (const QBasicAtomicPointer &)=delete
 
QBasicAtomicPointeroperator= (const QBasicAtomicPointer &) volatile=delete
 

Static Public Member Functions

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

AtomicType _q_value
 

Detailed Description

template<typename X>
class QBasicAtomicPointer< X >

Definition at line 217 of file qbasicatomic.h.

Member Typedef Documentation

◆ AtomicType

template<typename X >
typedef Ops::Type QBasicAtomicPointer< X >::AtomicType

Definition at line 222 of file qbasicatomic.h.

◆ Ops

template<typename X >
typedef QAtomicOps<Type> QBasicAtomicPointer< X >::Ops

Definition at line 221 of file qbasicatomic.h.

◆ Type

template<typename X >
typedef X* QBasicAtomicPointer< X >::Type

Definition at line 220 of file qbasicatomic.h.

Constructor & Destructor Documentation

◆ QBasicAtomicPointer() [1/3]

template<typename X >
QBasicAtomicPointer< X >::QBasicAtomicPointer ( )
default

◆ QBasicAtomicPointer() [2/3]

template<typename X >
constexpr QBasicAtomicPointer< X >::QBasicAtomicPointer ( Type  value)
inlineconstexprnoexcept

Definition at line 305 of file qbasicatomic.h.

◆ QBasicAtomicPointer() [3/3]

template<typename X >
QBasicAtomicPointer< X >::QBasicAtomicPointer ( const QBasicAtomicPointer< X > &  )
delete

Member Function Documentation

◆ fetchAndAddAcquire()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndAddAcquire ( qptrdiff  valueToAdd)
inlinenoexcept

Definition at line 274 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndAddOrdered()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndAddOrdered ( qptrdiff  valueToAdd)
inlinenoexcept

Definition at line 278 of file qbasicatomic.h.

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

◆ fetchAndAddRelaxed()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndAddRelaxed ( qptrdiff  valueToAdd)
inlinenoexcept

Definition at line 272 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndAddRelease()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndAddRelease ( qptrdiff  valueToAdd)
inlinenoexcept

Definition at line 276 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndStoreAcquire()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndStoreAcquire ( Type  newValue)
inlinenoexcept

Definition at line 262 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndStoreOrdered()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndStoreOrdered ( Type  newValue)
inlinenoexcept

Definition at line 266 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndStoreRelaxed()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndStoreRelaxed ( Type  newValue)
inlinenoexcept

Definition at line 260 of file qbasicatomic.h.

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

◆ fetchAndStoreRelease()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndStoreRelease ( Type  newValue)
inlinenoexcept

Definition at line 264 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndSubAcquire()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndSubAcquire ( qptrdiff  valueToAdd)
inlinenoexcept

Definition at line 283 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndSubOrdered()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndSubOrdered ( qptrdiff  valueToAdd)
inlinenoexcept

Definition at line 287 of file qbasicatomic.h.

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

◆ fetchAndSubRelaxed()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndSubRelaxed ( qptrdiff  valueToAdd)
inlinenoexcept

Definition at line 281 of file qbasicatomic.h.

Here is the call graph for this function:

◆ fetchAndSubRelease()

template<typename X >
Type QBasicAtomicPointer< X >::fetchAndSubRelease ( qptrdiff  valueToAdd)
inlinenoexcept

Definition at line 285 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isFetchAndAddNative()

template<typename X >
static constexpr bool QBasicAtomicPointer< X >::isFetchAndAddNative ( )
inlinestaticconstexprnoexcept

Definition at line 269 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isFetchAndAddWaitFree()

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

Definition at line 270 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isFetchAndStoreNative()

template<typename X >
static constexpr bool QBasicAtomicPointer< X >::isFetchAndStoreNative ( )
inlinestaticconstexprnoexcept

Definition at line 257 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isFetchAndStoreWaitFree()

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

Definition at line 258 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isTestAndSetNative()

template<typename X >
static constexpr bool QBasicAtomicPointer< X >::isTestAndSetNative ( )
inlinestaticconstexprnoexcept

Definition at line 236 of file qbasicatomic.h.

Here is the call graph for this function:

◆ isTestAndSetWaitFree()

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

Definition at line 237 of file qbasicatomic.h.

Here is the call graph for this function:

◆ loadAcquire()

template<typename X >
Type QBasicAtomicPointer< X >::loadAcquire ( ) const
inlinenoexcept

Definition at line 233 of file qbasicatomic.h.

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

◆ loadRelaxed()

template<typename X >
Type QBasicAtomicPointer< X >::loadRelaxed ( ) const
inlinenoexcept

Definition at line 226 of file qbasicatomic.h.

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

◆ operator Type()

template<typename X >
QBasicAtomicPointer< X >::operator Type ( ) const
inlinenoexcept

Definition at line 229 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator++() [1/2]

template<typename X >
Type QBasicAtomicPointer< X >::operator++ ( )
inlinenoexcept

Definition at line 290 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator++() [2/2]

template<typename X >
Type QBasicAtomicPointer< X >::operator++ ( int  )
inlinenoexcept

Definition at line 292 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator+=()

template<typename X >
Type QBasicAtomicPointer< X >::operator+= ( qptrdiff  valueToAdd)
inlinenoexcept

Definition at line 298 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator--() [1/2]

template<typename X >
Type QBasicAtomicPointer< X >::operator-- ( )
inlinenoexcept

Definition at line 294 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator--() [2/2]

template<typename X >
Type QBasicAtomicPointer< X >::operator-- ( int  )
inlinenoexcept

Definition at line 296 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator-=()

template<typename X >
Type QBasicAtomicPointer< X >::operator-= ( qptrdiff  valueToSub)
inlinenoexcept

Definition at line 300 of file qbasicatomic.h.

Here is the call graph for this function:

◆ operator=() [1/3]

template<typename X >
QBasicAtomicPointer& QBasicAtomicPointer< X >::operator= ( const QBasicAtomicPointer< X > &  ) volatile
delete

◆ operator=() [2/3]

template<typename X >
QBasicAtomicPointer& QBasicAtomicPointer< X >::operator= ( const QBasicAtomicPointer< X > &  )
delete

◆ operator=() [3/3]

template<typename X >
Type QBasicAtomicPointer< X >::operator= ( Type  newValue)
inlinenoexcept

Definition at line 230 of file qbasicatomic.h.

Here is the call graph for this function:

◆ storeRelaxed()

template<typename X >
void QBasicAtomicPointer< X >::storeRelaxed ( Type  newValue)
inlinenoexcept

Definition at line 227 of file qbasicatomic.h.

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

◆ storeRelease()

template<typename X >
void QBasicAtomicPointer< X >::storeRelease ( Type  newValue)
inlinenoexcept

Definition at line 234 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 X >
bool QBasicAtomicPointer< X >::testAndSetAcquire ( Type  expectedValue,
Type  newValue 
)
inlinenoexcept

Definition at line 241 of file qbasicatomic.h.

Here is the call graph for this function:

◆ testAndSetAcquire() [2/2]

template<typename X >
bool QBasicAtomicPointer< X >::testAndSetAcquire ( Type  expectedValue,
Type  newValue,
Type currentValue 
)
inlinenoexcept

Definition at line 250 of file qbasicatomic.h.

Here is the call graph for this function:

◆ testAndSetOrdered() [1/2]

template<typename X >
bool QBasicAtomicPointer< X >::testAndSetOrdered ( Type  expectedValue,
Type  newValue 
)
inlinenoexcept

Definition at line 245 of file qbasicatomic.h.

Here is the call graph for this function:

◆ testAndSetOrdered() [2/2]

template<typename X >
bool QBasicAtomicPointer< X >::testAndSetOrdered ( Type  expectedValue,
Type  newValue,
Type currentValue 
)
inlinenoexcept

Definition at line 254 of file qbasicatomic.h.

Here is the call graph for this function:

◆ testAndSetRelaxed() [1/2]

template<typename X >
bool QBasicAtomicPointer< X >::testAndSetRelaxed ( Type  expectedValue,
Type  newValue 
)
inlinenoexcept

Definition at line 239 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 X >
bool QBasicAtomicPointer< X >::testAndSetRelaxed ( Type  expectedValue,
Type  newValue,
Type currentValue 
)
inlinenoexcept

Definition at line 248 of file qbasicatomic.h.

Here is the call graph for this function:

◆ testAndSetRelease() [1/2]

template<typename X >
bool QBasicAtomicPointer< X >::testAndSetRelease ( Type  expectedValue,
Type  newValue 
)
inlinenoexcept

Definition at line 243 of file qbasicatomic.h.

Here is the call graph for this function:

◆ testAndSetRelease() [2/2]

template<typename X >
bool QBasicAtomicPointer< X >::testAndSetRelease ( Type  expectedValue,
Type  newValue,
Type currentValue 
)
inlinenoexcept

Definition at line 252 of file qbasicatomic.h.

Here is the call graph for this function:

Member Data Documentation

◆ _q_value

template<typename X >
AtomicType QBasicAtomicPointer< X >::_q_value

Definition at line 224 of file qbasicatomic.h.


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