5#ifndef QREADWRITELOCK_P_H
6#define QREADWRITELOCK_P_H
19#include <QtCore/private/qlocking_p.h>
20#include <QtCore/private/qwaitcondition_p.h>
21#include <QtCore/qreadwritelock.h>
22#include <QtCore/qvarlengtharray.h>
101 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(itemmodel)
static bool contendedTryLockForWrite(QAtomicPointer< QReadWriteLockPrivate > &d_ptr, QDeadlineTimer timeout, QReadWriteLockPrivate *d)
static bool contendedTryLockForRead(QAtomicPointer< QReadWriteLockPrivate > &d_ptr, QDeadlineTimer timeout, QReadWriteLockPrivate *d)
static auto handleEquals(Qt::HANDLE handle)
Q_DECLARE_TYPEINFO(QReadWriteLockPrivate::Reader, Q_PRIMITIVE_TYPE)