summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/thread/qatomic.cpp76
-rw-r--r--src/corelib/thread/qatomic.h10
2 files changed, 86 insertions, 0 deletions
diff --git a/src/corelib/thread/qatomic.cpp b/src/corelib/thread/qatomic.cpp
index 791f41074d..ef74ac40e8 100644
--- a/src/corelib/thread/qatomic.cpp
+++ b/src/corelib/thread/qatomic.cpp
@@ -216,6 +216,44 @@
this QAtomicInt.
*/
+/*!
+ \fn int QAtomicInt::load() const
+
+ Atomically loads the value of this QAtomicInt using relaxed memory
+ ordering. The value is not modified in any way, but note that there's no
+ guarantee that it remains so.
+
+ \sa store(), loadAcquire()
+*/
+
+/*!
+ \fn int QAtomicInt::loadAcquire() const
+
+ Atomically loads the value of this QAtomicInt using the "Acquire" memory
+ ordering. The value is not modified in any way, but note that there's no
+ guarantee that it remains so.
+
+ \sa store(), load()
+*/
+
+/*!
+ \fn void QAtomicInt::store(int newValue)
+
+ Atomically stores the \a newValue value into this atomic type, using
+ relaxed memory ordering.
+
+ \sa storeRelease(), load()
+*/
+
+/*!
+ \fn void QAtomicInt::storeRelease(int newValue)
+
+ Atomically stores the \a newValue value into this atomic type, using
+ the "Release" memory ordering.
+
+ \sa store(), load()
+*/
+
/*! \fn bool QAtomicInt::isReferenceCountingNative()
Returns true if reference counting is implemented using atomic
@@ -750,6 +788,44 @@
this QAtomicPointer.
*/
+/*!
+ \fn T *QAtomicPointer::load() const
+
+ Atomically loads the value of this QAtomicPointer using relaxed memory
+ ordering. The value is not modified in any way, but note that there's no
+ guarantee that it remains so.
+
+ \sa store(), loadAcquire()
+*/
+
+/*!
+ \fn T *QAtomicPointer::loadAcquire() const
+
+ Atomically loads the value of this QAtomicPointerusing the "Acquire" memory
+ ordering. The value is not modified in any way, but note that there's no
+ guarantee that it remains so.
+
+ \sa store(), load()
+*/
+
+/*!
+ \fn void QAtomicPointer::store(T *newValue)
+
+ Atomically stores the \a newValue value into this atomic type, using
+ relaxed memory ordering.
+
+ \sa storeRelease(), load()
+*/
+
+/*!
+ \fn void QAtomicPointer::storeRelease(T *newValue)
+
+ Atomically stores the \a newValue value into this atomic type, using
+ the "Release" memory ordering.
+
+ \sa store(), load()
+*/
+
/*! \fn bool QAtomicPointer::isTestAndSetNative()
Returns true if test-and-set is implemented using atomic processor
diff --git a/src/corelib/thread/qatomic.h b/src/corelib/thread/qatomic.h
index 076cfba159..10001802ba 100644
--- a/src/corelib/thread/qatomic.h
+++ b/src/corelib/thread/qatomic.h
@@ -82,6 +82,11 @@ public:
}
#ifdef qdoc
+ int load() const;
+ int loadAcquire() const;
+ void store(int newValue);
+ void storeRelease(int newValue);
+
static Q_DECL_CONSTEXPR bool isReferenceCountingNative();
static Q_DECL_CONSTEXPR bool isReferenceCountingWaitFree();
@@ -139,6 +144,11 @@ public:
}
#ifdef qdoc
+ T *load() const;
+ T *loadAcquire() const;
+ void store(T *newValue);
+ void storeRelease(T *newValue);
+
static Q_DECL_CONSTEXPR bool isTestAndSetNative();
static Q_DECL_CONSTEXPR bool isTestAndSetWaitFree();