CommonLibSSE NG
NiRefObject.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/M/MemoryManager.h"
4 
5 namespace RE
6 {
7  class NiRefObject
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_NiRefObject;
11 
13  virtual ~NiRefObject(); // 00
14 
15  // add
16  virtual void DeleteThis(); // 01
17 
18  void IncRefCount();
19  void DecRefCount();
20  [[nodiscard]] constexpr std::uint32_t GetRefCount() const noexcept { return _refCount; }
21 
22  [[nodiscard]] static volatile std::uint32_t* GetTotalObjectCount();
23 
25 
26  // members
27  volatile std::uint32_t _refCount{ 0 }; // 08
28  std::uint32_t _pad0C{ 0 }; // 0C
29  };
30  static_assert(sizeof(NiRefObject) == 0x10);
31 }
Definition: NiRefObject.h:8
virtual ~NiRefObject()
static constexpr auto RTTI
Definition: NiRefObject.h:10
static volatile std::uint32_t * GetTotalObjectCount()
std::uint32_t _pad0C
Definition: NiRefObject.h:28
virtual void DeleteThis()
volatile std::uint32_t _refCount
Definition: NiRefObject.h:27
constexpr std::uint32_t GetRefCount() const noexcept
Definition: NiRefObject.h:20
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_NiRefObject(684824, 392517, 0x1eda5a0)