class UpgradeHolder;
class WriteHolder;
- SharedMutexImpl() : state_(0) {}
+ constexpr SharedMutexImpl() : state_(0) {}
SharedMutexImpl(const SharedMutexImpl&) = delete;
SharedMutexImpl(SharedMutexImpl&&) = delete;
friend void acquireReadWrite(SharedMutexImpl& lock) { lock.lock(); }
friend void releaseRead(SharedMutexImpl& lock) { lock.unlock_shared(); }
friend void releaseReadWrite(SharedMutexImpl& lock) { lock.unlock(); }
+ friend bool acquireRead(SharedMutexImpl& lock, unsigned int ms) {
+ return lock.try_lock_shared_for(std::chrono::milliseconds(ms));
+ }
+ friend bool acquireReadWrite(SharedMutexImpl& lock, unsigned int ms) {
+ return lock.try_lock_for(std::chrono::milliseconds(ms));
+ }
};
#define COMMON_CONCURRENCY_SHARED_MUTEX_DECLARE_STATIC_STORAGE(type) \