11 static_assert(std::is_integral_v<T>);
46 static_assert(
sizeof(BSTAtomicValue<std::uint32_t>) == 0x4);
68 volatile std::uint32_t
lock;
101 void Lock(std::uint32_t a_pauseAttempts = 0);
106 volatile std::uint32_t _owningThread;
107 volatile std::uint32_t _lockCount;
129 volatile std::uint32_t _writerThread;
130 volatile std::uint32_t _lock;
Definition: BSAtomic.h:49
REX::W32::CRITICAL_SECTION criticalSection
Definition: BSAtomic.h:52
Definition: BSAtomic.h:57
void * event
Definition: BSAtomic.h:60
Definition: BSAtomic.h:65
volatile std::uint32_t lock
Definition: BSAtomic.h:68
Definition: BSAtomic.h:152
BSReadLockGuard(BSReadLockGuard &&)=delete
BSReadLockGuard(BSReadWriteLock &a_lock)
BSReadLockGuard & operator=(BSReadLockGuard &&)=delete
BSReadLockGuard & operator=(const BSReadLockGuard &)=delete
BSReadLockGuard(const BSReadLockGuard &)=delete
Definition: BSAtomic.h:112
@ kLockCountMask
Definition: BSAtomic.h:117
@ kLockWrite
Definition: BSAtomic.h:116
Definition: BSAtomic.h:73
void * semaphore
Definition: BSAtomic.h:79
Definition: BSAtomic.h:84
Definition: BSAtomic.h:135
BSSpinLockGuard(BSSpinLock &a_lock)
BSSpinLockGuard(const BSSpinLockGuard &)=delete
BSSpinLockGuard(BSSpinLockGuard &&)=delete
BSSpinLockGuard & operator=(BSSpinLockGuard &&)=delete
BSSpinLockGuard & operator=(const BSSpinLockGuard &)=delete
Definition: BSAtomic.h:92
@ kFastSpinThreshold
Definition: BSAtomic.h:96
void Lock(std::uint32_t a_pauseAttempts=0)
const T & load_unchecked() const noexcept
Definition: BSAtomic.h:40
T operator++(int)
Definition: BSAtomic.h:23
T operator--()
Definition: BSAtomic.h:28
T & load_unchecked() noexcept
Definition: BSAtomic.h:39
constexpr BSTAtomicValue() noexcept=default
T operator++()
Definition: BSAtomic.h:18
T operator--(int)
Definition: BSAtomic.h:33
Definition: BSAtomic.h:169
BSWriteLockGuard(const BSWriteLockGuard &)=delete
BSWriteLockGuard(BSReadWriteLock &a_lock)
BSWriteLockGuard()=delete
BSWriteLockGuard & operator=(const BSWriteLockGuard &)=delete
BSWriteLockGuard & operator=(BSWriteLockGuard &&)=delete
BSWriteLockGuard(BSWriteLockGuard &&)=delete
Definition: AbsorbEffect.h:6