| Home | ![]() |
This is the verbatim text of the qtreadwritemutex.h include file. It is provided only for illustration; the copyright remains with Trolltech.
#ifndef QTREADWRITEMUTEX_H
#define QTREADWRITEMUTEX_H
#include <qglobal.h>
class QtReadWriteMutexPrivate;
class QtReadWriteMutex
{
public:
enum AccessMode {
ReadAccess = 0,
WriteAccess
};
QtReadWriteMutex(int maxreaders = 16);
~QtReadWriteMutex();
void lock(AccessMode access);
void unlock(AccessMode access);
int maxReaders() const;
private:
QtReadWriteMutexPrivate *d;
};
class QtReadWriteMutexLocker
{
public:
QtReadWriteMutexLocker(QtReadWriteMutex *mutex, QtReadWriteMutex::AccessMode access);
~QtReadWriteMutexLocker();
QtReadWriteMutex *mutex() const;
private:
QtReadWriteMutex::AccessMode acs;
QtReadWriteMutex *mtx;
};
inline QtReadWriteMutexLocker::QtReadWriteMutexLocker(QtReadWriteMutex *mutex, QtReadWriteMutex::AccessMode access)
: acs(access), mtx(mutex)
{
if (mtx) mtx->lock(acs);
}
inline QtReadWriteMutexLocker::~QtReadWriteMutexLocker()
{
if (mtx) mtx->unlock(acs);
}
inline QtReadWriteMutex *QtReadWriteMutexLocker::mutex() const
{
return mtx;
}
#endif
| Copyright © 2003-2004 Trolltech | Trademarks | Qt Solutions
|