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
QBasicAtomicPointer< X > Class Template Reference

#include <qbasicatomic.h>

Collaboration diagram for QBasicAtomicPointer< X >:

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 174 of file qbasicatomic.h.

Member Typedef Documentation

◆ AtomicType

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

Definition at line 179 of file qbasicatomic.h.

◆ Ops

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

Definition at line 178 of file qbasicatomic.h.

◆ Type

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

Definition at line 177 of file qbasicatomic.h.

Constructor & Destructor Documentation

◆ QBasicAtomicPointer() [1/3]

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

◆ QBasicAtomicPointer() [2/3]

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

Definition at line 261 of file qbasicatomic.h.

References _q_value.

◆ 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 231 of file qbasicatomic.h.

◆ fetchAndAddOrdered()

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

Definition at line 235 of file qbasicatomic.h.

◆ fetchAndAddRelaxed()

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

Definition at line 229 of file qbasicatomic.h.

◆ fetchAndAddRelease()

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

Definition at line 233 of file qbasicatomic.h.

◆ fetchAndStoreAcquire()

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

Definition at line 219 of file qbasicatomic.h.

◆ fetchAndStoreOrdered()

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

Definition at line 223 of file qbasicatomic.h.

◆ fetchAndStoreRelaxed()

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

Definition at line 217 of file qbasicatomic.h.

◆ fetchAndStoreRelease()

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

Definition at line 221 of file qbasicatomic.h.

◆ fetchAndSubAcquire()

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

Definition at line 240 of file qbasicatomic.h.

◆ fetchAndSubOrdered()

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

Definition at line 244 of file qbasicatomic.h.

◆ fetchAndSubRelaxed()

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

Definition at line 238 of file qbasicatomic.h.

◆ fetchAndSubRelease()

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

Definition at line 242 of file qbasicatomic.h.

◆ isFetchAndAddNative()

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

Definition at line 226 of file qbasicatomic.h.

◆ isFetchAndAddWaitFree()

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

Definition at line 227 of file qbasicatomic.h.

◆ isFetchAndStoreNative()

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

Definition at line 214 of file qbasicatomic.h.

◆ isFetchAndStoreWaitFree()

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

Definition at line 215 of file qbasicatomic.h.

◆ isTestAndSetNative()

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

Definition at line 193 of file qbasicatomic.h.

◆ isTestAndSetWaitFree()

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

Definition at line 194 of file qbasicatomic.h.

◆ loadAcquire()

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

Definition at line 190 of file qbasicatomic.h.

Referenced by operator Type().

Here is the caller graph for this function:

◆ loadRelaxed()

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

Definition at line 183 of file qbasicatomic.h.

◆ operator Type()

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

Definition at line 186 of file qbasicatomic.h.

References loadAcquire().

Here is the call graph for this function:

◆ operator++() [1/2]

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

Definition at line 247 of file qbasicatomic.h.

◆ operator++() [2/2]

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

Definition at line 249 of file qbasicatomic.h.

◆ operator+=()

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

Definition at line 255 of file qbasicatomic.h.

◆ operator--() [1/2]

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

Definition at line 251 of file qbasicatomic.h.

◆ operator--() [2/2]

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

Definition at line 253 of file qbasicatomic.h.

◆ operator-=()

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

Definition at line 257 of file qbasicatomic.h.

◆ 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 187 of file qbasicatomic.h.

References storeRelease().

Here is the call graph for this function:

◆ storeRelaxed()

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

Definition at line 184 of file qbasicatomic.h.

◆ storeRelease()

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

Definition at line 191 of file qbasicatomic.h.

Referenced by operator=().

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 198 of file qbasicatomic.h.

◆ testAndSetAcquire() [2/2]

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

Definition at line 207 of file qbasicatomic.h.

◆ testAndSetOrdered() [1/2]

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

Definition at line 202 of file qbasicatomic.h.

◆ testAndSetOrdered() [2/2]

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

Definition at line 211 of file qbasicatomic.h.

◆ testAndSetRelaxed() [1/2]

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

Definition at line 196 of file qbasicatomic.h.

◆ testAndSetRelaxed() [2/2]

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

Definition at line 205 of file qbasicatomic.h.

◆ testAndSetRelease() [1/2]

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

Definition at line 200 of file qbasicatomic.h.

◆ testAndSetRelease() [2/2]

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

Definition at line 209 of file qbasicatomic.h.

Member Data Documentation

◆ _q_value

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

Definition at line 181 of file qbasicatomic.h.

Referenced by QBasicAtomicPointer().


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