CommonLibSSE NG
BSPointerHandleManager.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/N/NiSmartPointer.h"
5 
6 namespace RE
7 {
8  template <class T>
10  {
11  public:
12  struct Entry
13  {
14  public:
15  enum EntryBitfieldConstants : std::uint32_t
16  {
17  //kAgeInc = (1 << T::kFreeListBits), // 0x100000
18  //kFreeListMask = kAgeInc - 1, // 0xFFFFF
19  //kInUseBit = kAgeInc << kAgeShift // 0x4000000
20  };
21 
22  // members
23  std::uint32_t handleEntryBits; // 00
24  std::uint32_t pad04; // 04
26  };
27 
28  [[nodiscard]] static auto GetHandleEntries()
29  {
30  REL::Relocation<Entry(*)[0x100000]> entries{ RELOCATION_ID(514478, 400622) };
31  return std::span<Entry, 0x100000>{ *entries };
32  }
33  };
34 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
Definition: BSPointerHandleManager.h:10
static auto GetHandleEntries()
Definition: BSPointerHandleManager.h:28
Definition: NiSmartPointer.h:9
Definition: AbsorbEffect.h:6
Definition: BSPointerHandleManager.h:13
EntryBitfieldConstants
Definition: BSPointerHandleManager.h:16
NiPointer< BSHandleRefObject > pointer
Definition: BSPointerHandleManager.h:25
std::uint32_t pad04
Definition: BSPointerHandleManager.h:24
std::uint32_t handleEntryBits
Definition: BSPointerHandleManager.h:23