|
@@ -15,28 +15,28 @@ public:
|
|
|
SrwLock& operator=(SrwLock&&) = delete;
|
|
SrwLock& operator=(SrwLock&&) = delete;
|
|
|
|
|
|
|
|
// stl Lockable
|
|
// stl Lockable
|
|
|
- constexpr void lock() noexcept {
|
|
|
|
|
|
|
+ void lock() noexcept {
|
|
|
AcquireSRWLockExclusive(&lock_);
|
|
AcquireSRWLockExclusive(&lock_);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- [[nodiscard]] constexpr bool try_lock() noexcept {
|
|
|
|
|
|
|
+ [[nodiscard]] bool try_lock() noexcept {
|
|
|
return TryAcquireSRWLockExclusive(&lock_);
|
|
return TryAcquireSRWLockExclusive(&lock_);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- constexpr void unlock() noexcept {
|
|
|
|
|
|
|
+ void unlock() noexcept {
|
|
|
ReleaseSRWLockExclusive(&lock_);
|
|
ReleaseSRWLockExclusive(&lock_);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// stl SharedLockable
|
|
// stl SharedLockable
|
|
|
- constexpr void lock_shared() noexcept {
|
|
|
|
|
|
|
+ void lock_shared() noexcept {
|
|
|
AcquireSRWLockShared(&lock_);
|
|
AcquireSRWLockShared(&lock_);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- [[nodiscard]] constexpr bool try_lock_shared() noexcept {
|
|
|
|
|
|
|
+ [[nodiscard]] bool try_lock_shared() noexcept {
|
|
|
return TryAcquireSRWLockShared(&lock_);
|
|
return TryAcquireSRWLockShared(&lock_);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- constexpr void unlock_shared() noexcept {
|
|
|
|
|
|
|
+ void unlock_shared() noexcept {
|
|
|
ReleaseSRWLockShared(&lock_);
|
|
ReleaseSRWLockShared(&lock_);
|
|
|
}
|
|
}
|
|
|
|
|
|