CommonLibVR
Loading...
Searching...
No Matches
BSExtraData.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
RE/E/ExtraDataTypes.h
"
4
#include "
RE/M/MemoryManager.h
"
5
6
namespace
RE
7
{
8
class
BSExtraData
9
{
10
public
:
11
inline
static
constexpr
auto
RTTI
=
RTTI_BSExtraData
;
12
inline
static
constexpr
auto
VTABLE
=
VTABLE_BSExtraData
;
13
inline
static
constexpr
auto
EXTRADATATYPE
=
ExtraDataType::kNone
;
14
15
BSExtraData
();
16
virtual
~BSExtraData
() =
default
;
// 00
17
18
// add
19
[[nodiscard]]
virtual
ExtraDataType
GetType
()
const
= 0;
// 01
20
virtual
bool
IsNotEqual
(
const
BSExtraData
* a_rhs)
const
;
// 02 - { return false; }
21
22
static
BSExtraData
*
Create
(std::size_t a_size, std::uintptr_t a_vtbl);
23
template
<
class
T>
24
static
T*
Create
();
25
26
bool
operator==
(
const
BSExtraData
& a_rhs)
const
;
27
bool
operator!=
(
const
BSExtraData
& a_rhs)
const
;
28
29
TES_HEAP_REDEFINE_NEW
();
30
31
// members
32
BSExtraData
*
next
;
// 08
33
private
:
34
KEEP_FOR_RE
()
35
};
36
static_assert
(
sizeof
(
BSExtraData
) == 0x10);
37
38
template
<
class
T>
39
T*
BSExtraData::Create
()
40
{
41
return
static_cast<
T*
>
(
Create
(
sizeof
(T), T::VTABLE[0].address()));
42
}
43
}
ExtraDataTypes.h
MemoryManager.h
KEEP_FOR_RE
#define KEEP_FOR_RE()
Definition
PCH.h:517
RE::BSExtraData
Definition
BSExtraData.h:9
RE::BSExtraData::RTTI
static constexpr auto RTTI
Definition
BSExtraData.h:11
RE::BSExtraData::TES_HEAP_REDEFINE_NEW
TES_HEAP_REDEFINE_NEW()
RE::BSExtraData::EXTRADATATYPE
static constexpr auto EXTRADATATYPE
Definition
BSExtraData.h:13
RE::BSExtraData::IsNotEqual
virtual bool IsNotEqual(const BSExtraData *a_rhs) const
RE::BSExtraData::Create
static BSExtraData * Create(std::size_t a_size, std::uintptr_t a_vtbl)
RE::BSExtraData::VTABLE
static constexpr auto VTABLE
Definition
BSExtraData.h:12
RE::BSExtraData::~BSExtraData
virtual ~BSExtraData()=default
RE::BSExtraData::BSExtraData
BSExtraData()
RE::BSExtraData::operator!=
bool operator!=(const BSExtraData &a_rhs) const
RE::BSExtraData::operator==
bool operator==(const BSExtraData &a_rhs) const
RE::BSExtraData::next
BSExtraData * next
Definition
BSExtraData.h:32
RE::BSExtraData::GetType
virtual ExtraDataType GetType() const =0
RE::BSExtraData::Create
static T * Create()
Definition
BSExtraData.h:39
RE
Definition
AbsorbEffect.h:6
RE::VTABLE_BSExtraData
constexpr std::array< REL::ID, 1 > VTABLE_BSExtraData
Definition
Offsets_VTABLE.h:9010
RE::RTTI_BSExtraData
constexpr REL::ID RTTI_BSExtraData(static_cast< std::uint64_t >(513883))
RE::ExtraDataType
ExtraDataType
Definition
ExtraDataTypes.h:173
RE::ExtraDataType::kNone
@ kNone
CommonLibVR
include
RE
B
BSExtraData.h
Generated by
1.9.8