CommonLibSSE (Parapets fork)
GAtomic.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace RE
4 {
5  class GLock
6  {
7  public:
8  class Locker
9  {
10  public:
11  Locker(GLock* a_lock);
13 
14  // members
15  GLock* lock; // 0
16  };
17  static_assert(sizeof(Locker) == 0x8);
18 
19  GLock(std::uint32_t a_spinCount = 0);
20  ~GLock();
21 
22  void operator delete(void*) = delete;
23 
24  void Lock();
25  void Unlock();
26 
27  // members
29  };
30  static_assert(sizeof(GLock) == 0x28);
31 
32  template <class T>
34  {
35  public:
36  // members
37  volatile T value; // 0
38  };
39  //static_assert(sizeof(GAtomicValueBase<std::int32_t>) == 0x4);
40 
41  template <class T>
42  class GAtomicInt : public GAtomicValueBase<T> // 0
43  {
44  public:
45  };
46  //static_assert(sizeof(GAtomicInt<std::int32_t>) == 0x4);
47 }
Definition: GAtomic.h:43
Definition: GAtomic.h:34
volatile T value
Definition: GAtomic.h:37
Definition: GAtomic.h:9
GLock * lock
Definition: GAtomic.h:15
Locker(GLock *a_lock)
Definition: GAtomic.h:6
GLock(std::uint32_t a_spinCount=0)
void Unlock()
void Lock()
WinAPI::CRITICAL_SECTION cs
Definition: GAtomic.h:28
Definition: AbsorbEffect.h:6
Definition: WinAPI.h:14