diff options
Diffstat (limited to 'c/common.h')
-rw-r--r-- | c/common.h | 21 |
1 files changed, 2 insertions, 19 deletions
@@ -5,12 +5,6 @@ #include <optional> #include <windows.h> -#ifdef UNICODE -#define WA "W" -#else -#define WA "A" -#endif - int EBMessageBox(const wchar_t* wszText, const wchar_t* wszCaption, unsigned uType); int GetRelativeCursorPos(HWND hWnd, POINT* pt); @@ -46,10 +40,12 @@ private: struct Library { + static std::optional<Library> Maybe(const wchar_t* lib); Library(const wchar_t* lib); ~Library(); template <class T> T* GetProcAddress(const char* szProc); private: + Library(HMODULE hModule); HMODULE m_hModule; }; @@ -65,19 +61,6 @@ inline int wszf(wchar_t (&buf)[N], const wchar_t* const fmt, T... xs) return _snwprintf_s(buf, N, _TRUNCATE, fmt, xs...); } -/* Create and return an object of type C. If construction fails, - * return nothing. The returned value must be checked before being - * used, as dereferencing is undefined if the value is empty. */ -template <typename T, typename... U> -std::optional<T> maybe_make(U... xs) -{ - try { - return T(xs...); - } catch (...) { - return {}; - } -} - /* Variable template for caching values from GetSystemMetrics. */ template <int I> auto Metric = GetSystemMetrics(I); |