CommonLibSSE NG
BSTDerivedCreator.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/I/IBSTCreator.h"
4 
5 namespace RE
6 {
7  // 08
8  template <class Derived, class Parent>
9  struct BSTDerivedCreator : public IBSTCreator<Parent>
10  {
11  public:
12  virtual ~BSTDerivedCreator(); // 00
13 
14  protected:
15  // override (IBSTCreator<Parent>)
16  Parent* CreateImpl() const override; // 01
17 
18  public:
19  void Destroy(const Parent* a_val) const override; // 02
20 
21  Derived* Create() const
22  {
23  return static_cast<Derived*>(CreateImpl());
24  }
25  };
26 }
Definition: AbsorbEffect.h:6
Definition: BSTDerivedCreator.h:10
Parent * CreateImpl() const override
virtual ~BSTDerivedCreator()
void Destroy(const Parent *a_val) const override
Derived * Create() const
Definition: BSTDerivedCreator.h:21
Definition: IBSTCreator.h:7