6#ifndef QREADWRITELOCK_P_H
7#define QREADWRITELOCK_P_H
20#include <QtCore/private/qlocking_p.h>
21#include <QtCore/private/qwaitcondition_p.h>
22#include <QtCore/qreadwritelock.h>
23#include <QtCore/qvarlengtharray.h>
102 const auto lock = qt_scoped_lock(d->mutex);
std::condition_variable readerCond
bool lockForRead(std::unique_lock< std::mutex > &lock, QDeadlineTimer timeout)
bool lockForWrite(std::unique_lock< std::mutex > &lock, QDeadlineTimer timeout)
bool recursiveLockForRead(QDeadlineTimer timeout)
bool recursiveLockForWrite(QDeadlineTimer timeout)
static QReadWriteLockPrivate * allocate()
static QReadWriteLockStates::StateForWaitCondition stateForWaitCondition(const QReadWriteLock *lock)
QReadWriteLockPrivate(bool isRecursive=false)
std::condition_variable writerCond
QVarLengthArray< Reader, 16 > currentReaders
QT_REQUIRE_CONFIG(thread)
static Q_ALWAYS_INLINE bool fastTryLock(QAtomicPointer< QReadWriteLockPrivate > &d_ptr, QReadWriteLockPrivate *dummyValue, QReadWriteLockPrivate *&d)
static auto handleEquals(Qt::HANDLE handle)
Q_DECLARE_TYPEINFO(QReadWriteLockPrivate::Reader, Q_PRIMITIVE_TYPE)