11#include <detail/preprocessor.hpp>
12#include <detail/symbols.hpp>
37 return this->method_name;
46 return this->method_name_w;
56 return this->invokers;
63 const char* method_name;
64 const wchar_t* method_name_w;
102 virtual
void* liber_unknown() = 0;
103 virtual
void* liber_unknown() = 0;
104 virtual
void* liber_unknown() = 0;
105 virtual
void* liber_unknown() = 0;
106 virtual
bool liber_unknown() = 0;
107 virtual
void liber_unknown() = 0;
119 virtual
void liber_unknown() = 0;
120 virtual
void liber_unknown() = 0;
130 return this->base_class;
133 template <
typename T>
137 const wchar_t* name_w;
159 return liber::symbol<
"GLOBAL_DLRuntimeClass_types">::as<pointer_type>()
164 std::string_view class_name)
noexcept {
168 auto iter = std::lower_bound(classes->begin(), classes->end(),
170 [](
const DLRuntimeClassHolder& holder,
171 const std::string_view& rhs) {
172 return std::string_view(holder.name, holder.name_length) < rhs;
174 if (iter == classes->end()
175 || std::string_view(iter->name, iter->name_length) != class_name)
177 return iter->instance;
187 return this->runtime_methods;
A wrapper around a Windows kernel mutex.
Definition kernel_runtime.hpp:92
Abstract class used for type reflection.
Definition reflection.hpp:79
const from::vector< DLRuntimeMethodHolder > & get_methods() const noexcept
Get every bound method.
Definition reflection.hpp:186
static const from::vector< DLRuntimeClassHolder > * get_registered_classes() noexcept
Get a vector of all globally registered DLRuntimeClasses.
Definition reflection.hpp:156
virtual const wchar_t * get_class_name_w() const noexcept=0
Get the name of the type (wide).
virtual const char * get_class_name() const noexcept=0
Get the name of the type.
const DLRuntimeClass * get_class_base() const noexcept
Get a derived class's base class.
Definition reflection.hpp:129
virtual size_t get_class_size() const noexcept=0
Get the size of the type.
Definition from_memory.hpp:16
ELDEN RING memory utilities.
from::vector based on std::vector
std::vector< T, from::allocator< T > > vector
std::vector with from::allocator.
Definition from_vector.hpp:23
Dantelion2 kernel object management and synchronization.
Definition reflection.hpp:134
A wrapper that represents a method with a vector of invoker objects.
Definition reflection.hpp:28
const char * get_method_name() const noexcept
Get the method name.
Definition reflection.hpp:36
const from::vector< DLMethodInvoker * > & get_invokers() const noexcept
Get all the invokers bound to this method.
Definition reflection.hpp:55
const wchar_t * get_method_name_w() const noexcept
Get the method name (wide).
Definition reflection.hpp:45