![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#include <qreadwritelock_p.h>
Classes | |
| struct | Reader |
Public Member Functions | |
| QReadWriteLockPrivate (bool isRecursive=false) | |
| bool | lockForWrite (std::unique_lock< std::mutex > &lock, QDeadlineTimer timeouttimeout) |
| bool | lockForRead (std::unique_lock< std::mutex > &lock, QDeadlineTimer timeouttimeout) |
| void | unlock () |
| void | release () |
| bool | recursiveLockForWrite (QDeadlineTimer timeouttimeout) |
| bool | recursiveLockForRead (QDeadlineTimer timeouttimeout) |
| void | recursiveUnlock () |
Static Public Member Functions | |
| static QReadWriteLockPrivate * | allocate () |
| static quintptr | describeState (void *dd) noexcept |
| template<typename Prep, typename DoWait> | |
| static bool | waitConditionWait (QReadWriteLock *readWriteLock, Prep &&prep, DoWait &&doWait) |
Public Attributes | |
| std::condition_variable | writerCond |
| std::condition_variable | readerCond |
| std::mutex | mutex |
| int | readerCount = 0 |
| int | writerCount = 0 |
| int | waitingReaders = 0 |
| int | waitingWriters = 0 |
| const bool | recursive |
| int | id = 0 |
| Qt::HANDLE | currentWriter = {} |
| QVarLengthArray< Reader, 16 > | currentReaders |
Static Public Attributes | |
| static constexpr quintptr | StateLockedForRead = QReadWriteLock::StateLockedForRead |
| static constexpr quintptr | StateLockedForWrite = QReadWriteLock::StateLockedForWrite |
| static constexpr quintptr | StateMask = QReadWriteLock::StateMask |
| static constexpr quintptr | MultiplyLocked = QReadWriteLock::Counter |
| static constexpr quintptr | IsRecursiveLock = MultiplyLocked << 1 |
| static constexpr quintptr | RecursivelyLockedForWrite |
Definition at line 29 of file qreadwritelock_p.h.
|
inlineexplicit |
Definition at line 41 of file qreadwritelock_p.h.
|
static |
Definition at line 586 of file qreadwritelock.cpp.
Describes the state of the QReadWriteLock whose private is dd.
Returns one of: \list
IsRecursiveLock (still unlocked) StateLockedForRead {StateLockedForRead | IsRecursiveLock} StateLockedForWrite {StateLockedForWrite | IsRecursiveLock} {StateLockedForWrite | IsRecursiveLock | MultiplyLocked} = RecursivelyLockedForWrite \endlist Definition at line 94 of file qreadwritelock_p.h.
| bool QReadWriteLockPrivate::lockForRead | ( | std::unique_lock< std::mutex > & | lock, |
| QDeadlineTimer | timeout ) |
Definition at line 435 of file qreadwritelock.cpp.
| bool QReadWriteLockPrivate::lockForWrite | ( | std::unique_lock< std::mutex > & | lock, |
| QDeadlineTimer | timeout ) |
Definition at line 457 of file qreadwritelock.cpp.
| bool QReadWriteLockPrivate::recursiveLockForRead | ( | QDeadlineTimer | timeout | ) |
Definition at line 501 of file qreadwritelock.cpp.
| bool QReadWriteLockPrivate::recursiveLockForWrite | ( | QDeadlineTimer | timeout | ) |
Definition at line 523 of file qreadwritelock.cpp.
| void QReadWriteLockPrivate::recursiveUnlock | ( | ) |
Definition at line 541 of file qreadwritelock.cpp.
| void QReadWriteLockPrivate::release | ( | ) |
Definition at line 596 of file qreadwritelock.cpp.
| void QReadWriteLockPrivate::unlock | ( | ) |
Definition at line 487 of file qreadwritelock.cpp.
|
inlinestatic |
Definition at line 132 of file qreadwritelock_p.h.
| QVarLengthArray<Reader, 16> QReadWriteLockPrivate::currentReaders |
Definition at line 72 of file qreadwritelock_p.h.
| Qt::HANDLE QReadWriteLockPrivate::currentWriter = {} |
Definition at line 65 of file qreadwritelock_p.h.
| int QReadWriteLockPrivate::id = 0 |
Definition at line 60 of file qreadwritelock_p.h.
|
staticconstexpr |
Definition at line 37 of file qreadwritelock_p.h.
|
staticconstexpr |
Definition at line 36 of file qreadwritelock_p.h.
| std::mutex QReadWriteLockPrivate::mutex |
Definition at line 47 of file qreadwritelock_p.h.
| std::condition_variable QReadWriteLockPrivate::readerCond |
Definition at line 45 of file qreadwritelock_p.h.
| int QReadWriteLockPrivate::readerCount = 0 |
Definition at line 48 of file qreadwritelock_p.h.
| const bool QReadWriteLockPrivate::recursive |
Definition at line 52 of file qreadwritelock_p.h.
|
staticconstexpr |
Definition at line 38 of file qreadwritelock_p.h.
|
staticconstexpr |
Definition at line 33 of file qreadwritelock_p.h.
|
staticconstexpr |
Definition at line 34 of file qreadwritelock_p.h.
|
staticconstexpr |
Definition at line 35 of file qreadwritelock_p.h.
| int QReadWriteLockPrivate::waitingReaders = 0 |
Definition at line 50 of file qreadwritelock_p.h.
| int QReadWriteLockPrivate::waitingWriters = 0 |
Definition at line 51 of file qreadwritelock_p.h.
| std::condition_variable QReadWriteLockPrivate::writerCond |
Definition at line 44 of file qreadwritelock_p.h.
| int QReadWriteLockPrivate::writerCount = 0 |
Definition at line 49 of file qreadwritelock_p.h.