void * FindVirtualTableByTypeInfo(std::span< const ScanRange > ranges, const void *typeInfo, intptr_t offsetToTop)
Result< BaseSubobject > FindBaseInRtti(const PeRtti &rtti, std::string_view className, std::string_view baseName)
static std::string ReadFile(const std::filesystem::path &path)
Result< int > FindBaseOffsetByTypeInfo(const void *typeInfo, std::string_view baseName, const TypeInfoKinds &kinds)
Result< BaseSubobject > FindBaseIn(const Image &module, std::string_view className, std::string_view baseName)
void * FindVirtualTableByTypeName(std::span< const ScanRange > ranges, std::string_view className)
void * FindVirtualTableInRtti(const PeRtti &rtti, std::string_view className)
std::string LengthPrefixedName(std::string_view className)
void * FindVirtualTable(std::string_view moduleName, std::string_view className)
std::expected< T, Error > Result
bool IsInstanceOf(const void *object, const void *table)
void * FindVirtualTableIn(const Image &module, std::string_view className)