18 #ifndef _DECAF_UTIL_CONCURRENT_LOCKS_REENTRANTREADWRITELOCK_H_
19 #define _DECAF_UTIL_CONCURRENT_LOCKS_REENTRANTREADWRITELOCK_H_
29 namespace concurrent {
32 class ReentrantReadWriteLockImpl;
41 ReentrantReadWriteLockImpl* impl;
90 int getReadLockCount()
const;
98 bool isWriteLocked()
const;
105 bool isWriteLockedByCurrentThread()
const;
115 int getWriteHoldCount()
const;
125 int getReadHoldCount()
const;
142 bool hasWaiters(
Condition* condition)
const;
156 int getWaitQueueLength(
Condition* condition)
const;
166 std::string toString()
const;
176 bool hasQueuedThreads()
const;
202 int getQueueLength()
const;