CommonLibSSE (Parapets fork)
ExtraMissingLinkedRefIDs.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSExtraData.h"
4 #include "RE/E/ExtraDataTypes.h"
5 
6 namespace RE
7 {
8  class BGSKeyword;
9  class TESObjectREFR;
10 
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_ExtraMissingLinkedRefIDs;
15  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kMissingLinkedRefIDs;
16 
17  struct Entry
18  {
19  public:
20  // members
23  std::uint32_t pad0C; // 0C
24  };
25  static_assert(sizeof(Entry) == 0x10);
26 
27  // a variation of a small array
28  struct Array
29  {
30  public:
31  using value_type = Entry;
32  using size_type = std::uint32_t;
34  using iterator = Entry*;
35 
36  union Data
37  {
40  };
41  static_assert(sizeof(Data) == 0x10);
42 
44  iterator begin() noexcept;
45  iterator end() noexcept;
46  size_type size() const noexcept;
47 
48  // members
49  Data _data; // 00
50  std::uint32_t _size; // 10
51  std::uint32_t _pad14; // 14
52  };
53  static_assert(sizeof(Array) == 0x18);
54 
55  virtual ~ExtraMissingLinkedRefIDs(); // 00
56 
57  // override (BSExtraData)
58  virtual ExtraDataType GetType() const override; // 01 - { return kMissingLinkedRefIDs; }
59 
61 
62  // members
63  Array entries; // 10
64  };
65  static_assert(sizeof(ExtraMissingLinkedRefIDs) == 0x28);
66 }
Definition: BGSKeyword.h:10
Definition: BSExtraData.h:9
Definition: ExtraMissingLinkedRefIDs.h:12
static constexpr auto EXTRADATATYPE
Definition: ExtraMissingLinkedRefIDs.h:15
virtual ExtraDataType GetType() const override
TESObjectREFR * GetLinkedRef(BGSKeyword *a_keyword)
static constexpr auto RTTI
Definition: ExtraMissingLinkedRefIDs.h:14
Array entries
Definition: ExtraMissingLinkedRefIDs.h:63
Definition: TESObjectREFR.h:105
Definition: AbsorbEffect.h:6
std::uint32_t FormID
Definition: BSCoreTypes.h:5
ExtraDataType
Definition: ExtraDataTypes.h:173
constexpr REL::ID RTTI_ExtraMissingLinkedRefIDs
Definition: Offsets_RTTI.h:4713
Definition: NiBinaryStream.h:94
Definition: ExtraMissingLinkedRefIDs.h:29
std::uint32_t size_type
Definition: ExtraMissingLinkedRefIDs.h:32
size_type size() const noexcept
std::uint32_t _size
Definition: ExtraMissingLinkedRefIDs.h:50
reference operator[](size_type a_pos)
std::uint32_t _pad14
Definition: ExtraMissingLinkedRefIDs.h:51
Data _data
Definition: ExtraMissingLinkedRefIDs.h:49
Definition: ExtraMissingLinkedRefIDs.h:18
FormID linkedRefID
Definition: ExtraMissingLinkedRefIDs.h:22
std::uint32_t pad0C
Definition: ExtraMissingLinkedRefIDs.h:23
BGSKeyword * keyword
Definition: ExtraMissingLinkedRefIDs.h:21
Definition: ExtraMissingLinkedRefIDs.h:37
Entry * entryPtr
Definition: ExtraMissingLinkedRefIDs.h:38
Entry entry[1]
Definition: ExtraMissingLinkedRefIDs.h:39