8#ifdef BY_BUILD_PLATFORM_IS_WINDOWS
14#ifdef BY_BUILD_PLATFORM_IS_WINDOWS
15 typedef HMODULE dlibHandle;
17 typedef void* dlibHandle;
19 template <
typename F>
using tmayFunc = tres<F, std::string>;
72 dlib(
const char* path);
73 dlib(
const std::string& path);
78 me& operator=(
const me& rhs);
81 const std::string& getPath()
const;
82 void setPath(
const std::string& path);
83 void setPath(
const std::string* it)
BY_SIDE_FUNC(setPath);
91 tmay<std::string> load();
93 nbool isLoaded()
const;
102 template <
typename F> tmayFunc<F> accessFunc(
const std::string& name) {
return accessFunc<F>(name.c_str()); }
104 template <
typename F> tmayFunc<F> accessFunc(
const std::string* it)
BY_SIDE_FUNC(accessFunc<F>);
106 template <
typename F> tmayFunc<F> accessFunc(
const nchar* name) {
107 auto&& res = _accessFunc(name);
108 return res.has() ? tmayFunc<F>((F&) *res) : tmayFunc<F>(res.getErr());
114 tmayFunc<void*> _accessFunc(
const nchar* name);
121 typedef std::vector<dlib> dlibs;
#define BY_SIDE_FUNC(...)
Side function macros for safe pointer operations.
Definition sideFunc.hpp:24