CommonLibVR
BSHandleRefObject.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiRefObject.h"
4 
5 namespace RE
6 {
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_BSHandleRefObject;
11  inline static constexpr auto VTABLE = VTABLE_BSHandleRefObject;
12 
13  enum
14  {
15  kRefCountMask = 0x3FF,
16  kHandleValid = 1 << 10
17  };
18 
19  ~BSHandleRefObject() override; // 00
20 
21  void DecRefCount();
22  void IncRefCount();
23  [[nodiscard]] bool IsHandleValid() const;
24  [[nodiscard]] std::uint32_t QRefCount() const;
25 
26  private:
27  KEEP_FOR_RE()
28  };
29  static_assert(sizeof(BSHandleRefObject) == 0x10);
30 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSHandleRefObject.h:8
static constexpr auto RTTI
Definition: BSHandleRefObject.h:10
~BSHandleRefObject() override
bool IsHandleValid() const
static constexpr auto VTABLE
Definition: BSHandleRefObject.h:11
std::uint32_t QRefCount() const
@ kHandleValid
Definition: BSHandleRefObject.h:16
@ kRefCountMask
Definition: BSHandleRefObject.h:15
Definition: NiRefObject.h:8
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSHandleRefObject(static_cast< std::uint64_t >(685165))
constexpr std::array< REL::ID, 1 > VTABLE_BSHandleRefObject
Definition: Offsets_VTABLE.h:9042