CommonLibVR
IHandlerFunctor.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
6 #include "RE/B/BSTSmartPointer.h"
7 
8 namespace RE
9 {
10  template <class Handler, class Parameter>
12  public BSIntrusiveRefCounted // 08
13  {
14  public:
15  IHandlerFunctor() = default;
16  virtual ~IHandlerFunctor() = default; // 00
17 
18  // add
19  virtual bool ExecuteHandler(Handler& a_handler, const Parameter& a_parameter) = 0;
20 
21  inline bool operator()(Handler& a_handler, const Parameter& a_parameter)
22  {
23  return ExecuteHandler(a_handler, a_parameter);
24  }
25 
26  // members
27  std::uint32_t pad0C; // 0C
28  };
29  //static_assert(sizeof(IHandlerFunctor) == 0x10);
30 
31  class Actor;
33  static_assert(sizeof(AnimHandler) == 0x10);
34 
35  template <class T, class Key>
37  {
38  public:
39  virtual ~HandlerCreationMissPolicy(); // 00
40  };
41  //static_assert(sizeof(HandlerCreationMissPolicy) == 0x8);
42 
43  template <class T, class Key>
45  {
46  public:
47  virtual ~NoInitializationPolicy(); // 00
48  };
49  //static_assert(sizeof(NoInitializationPolicy) == 0x8);
50 
52  public BSTObjectDictionary<
53  BSTSmartPointer<AnimHandler>,
54  BSFixedString,
55  HandlerCreationMissPolicy,
56  NoInitializationPolicy>
57  {
58  public:
60 
61  private:
62  KEEP_FOR_RE()
63  };
64  static_assert(sizeof(HandlerDictionary) == 0x50);
65 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: Actor.h:133
Definition: BSTObjectDictionary.h:18
Definition: IHandlerFunctor.h:37
Definition: IHandlerFunctor.h:57
static HandlerDictionary * GetSingleton()
Definition: IHandlerFunctor.h:13
virtual ~IHandlerFunctor()=default
virtual bool ExecuteHandler(Handler &a_handler, const Parameter &a_parameter)=0
bool operator()(Handler &a_handler, const Parameter &a_parameter)
Definition: IHandlerFunctor.h:21
std::uint32_t pad0C
Definition: IHandlerFunctor.h:27
IHandlerFunctor()=default
Definition: IHandlerFunctor.h:45
Definition: AbsorbEffect.h:6
Definition: BSIntrusiveRefCounted.h:8