CommonLibVR
BSResourceEntry.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSAtomic.h"
4 #include "RE/B/BSFixedString.h"
5 #include "RE/B/BSTSmartPointer.h"
6 #include "RE/I/ID.h"
7 
8 namespace RE
9 {
10  namespace BSResource
11  {
12  class Stream;
13 
14  template <class T_Type, class T_EntryDBTraitsCArgs>
15  class Entry
16  {
17  public:
18  using U_Type = T_Type;
19  using U_EntryDBTraitsCArgs = T_EntryDBTraitsCArgs;
20 
21  union UserData
22  {
23  std::uint32_t flags;
24  T_EntryDBTraitsCArgs* traits;
25  };
26  static_assert(sizeof(UserData) == 0x8);
27 
28  // members
29  ID name; // 00
34  T_Type data; // 28
35  };
36  }
37 }
Definition: BSResourceEntry.h:16
BSTAtomicValue< std::uint32_t > ctrl
Definition: BSResourceEntry.h:30
T_EntryDBTraitsCArgs U_EntryDBTraitsCArgs
Definition: BSResourceEntry.h:19
ID name
Definition: BSResourceEntry.h:26
Entry< T_Type, T_EntryDBTraitsCArgs > * next
Definition: BSResourceEntry.h:32
T_Type data
Definition: BSResourceEntry.h:34
UserData userData
Definition: BSResourceEntry.h:31
T_Type U_Type
Definition: BSResourceEntry.h:18
BSTSmartPointer< Stream > stream
Definition: BSResourceEntry.h:33
Definition: BSTSmartPointer.h:37
Definition: AbsorbEffect.h:6
Definition: ID.h:10
Definition: BSResourceEntry.h:22
T_EntryDBTraitsCArgs * traits
Definition: BSResourceEntry.h:24
std::uint32_t flags
Definition: BSResourceEntry.h:23