37 return std::unexpected(base.error());
46 const auto module = Module(moduleName);
49 return std::unexpected(
module.error());
66 const auto module = Module(moduleName);
69 return std::unexpected(
module.error());
72 auto it = _bases.find(
key);
73 if (
it == _bases.end())
Result< BaseSubobject > Base(const std::string &moduleName, const std::string &className, const std::string &baseName)
Result< void * > Table(const std::string &moduleName, const std::string &className, const std::string &baseName={})
Result< const Image * > Module(const std::string &moduleName)
bool FindImage(std::string_view moduleName, Image &module)
static std::string ReadFile(const std::filesystem::path &path)
Result< BaseSubobject > FindBaseIn(const Image &module, std::string_view className, std::string_view baseName)
static std::unexpected< Error > Unbound(std::string reason)
std::expected< T, Error > Result
void * FindVirtualTableIn(const Image &module, std::string_view className)
static Error NotFound(std::string detail)