CommonLibSSE (Parapets fork)
hkReferencedObject.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkBaseObject.h"
4 
5 namespace RE
6 {
7  class hkClass;
8  class hkStatisticsCollector;
9 
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_hkReferencedObject;
14 
15  enum class LockMode
16  {
17  kNone = 0,
18  kAuto,
19  kManual
20  };
21 
22  enum
23  {
24  kMemSize = 0x7FFF
25  };
26 
28  ~hkReferencedObject() override = default; // 00
29 
30  // add
31  virtual const hkClass* GetClassType() const; // 01 - { return 0; }
32  virtual void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const; // 02
33 
34  void AddReference() const;
35  std::int32_t GetAllocatedSize() const;
36  std::int32_t GetReferenceCount() const;
37  void RemoveReference() const;
38 
39  // members
40  std::uint16_t memSizeAndFlags; // 08
41  volatile mutable std::int16_t referenceCount; // 0A
42  std::uint32_t pad0C; // 0C
43  };
44  static_assert(sizeof(hkReferencedObject) == 0x10);
45 }
Definition: hkBaseObject.h:6
Definition: hkReferencedObject.h:11
~hkReferencedObject() override=default
void AddReference() const
std::uint32_t pad0C
Definition: hkReferencedObject.h:42
virtual const hkClass * GetClassType() const
volatile std::int16_t referenceCount
Definition: hkReferencedObject.h:41
static constexpr auto RTTI
Definition: hkReferencedObject.h:13
LockMode
Definition: hkReferencedObject.h:16
std::int32_t GetAllocatedSize() const
void RemoveReference() const
std::int32_t GetReferenceCount() const
std::uint16_t memSizeAndFlags
Definition: hkReferencedObject.h:40
virtual void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const
@ kMemSize
Definition: hkReferencedObject.h:24
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkReferencedObject
Definition: Offsets_RTTI.h:7225