CommonLibVR
GWaitable.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/G/GArray.h"
5 #include "RE/G/GAtomic.h"
7 #include "RE/G/GRefCountBase.h"
8 #include "RE/G/GStats.h"
9 
10 namespace RE
11 {
12  class GWaitable : public GRefCountBase<GWaitable, GStatGroups::kGStat_Default_Mem>
13  {
14  public:
15  using WaitHandler = void (*)(void* a_data);
16 
18  {
19  public:
20  // members
22  void* userData;
23  };
24 
25  struct HandlerArray : public GNewOverrideBase<GStatGroups::kGStat_Default_Mem>
26  {
29 
30  // members
34  };
35 
36  ~GWaitable() override;
37 
39 
40  private:
41  KEEP_FOR_RE()
42  };
43  static_assert(sizeof(GWaitable) == 0x18);
44 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: GAtomic.h:8
Definition: GNewOverrideBase.h:9
Definition: GRefCountBase.h:12
Definition: GWaitable.h:18
WaitHandler handler
Definition: GWaitable.h:21
void * userData
Definition: GWaitable.h:22
Definition: GWaitable.h:13
void(*)(void *a_data) WaitHandler
Definition: GWaitable.h:15
~GWaitable() override
HandlerArray * handlers
Definition: GWaitable.h:38
Definition: AbsorbEffect.h:6
Definition: GArrayConstPolicy.h:7
Definition: GWaitable.h:26
GLock handlersLock
Definition: GWaitable.h:33
HandlerArrayType handlers
Definition: GWaitable.h:32
GAtomicInt< std::int32_t > refCount
Definition: GWaitable.h:31