summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2023-04-14 06:45:20 +1000
committer Vas Crabb <vas@vastheman.com>2023-04-14 06:45:20 +1000
commit7d26d641d3e94943b351ad55d7ffe25ec02ac791 (patch)
treed9fabd7ddf5c487711b1ee6b5599d0e4a7cb5902 /src/lib
parentc0b57d30f0ce39c445190fe4e27bec6c57ebb137 (diff)
Miscellaneous improvements:
infoxml.cpp: Thread device processing. Gives about a 10% speed improvement overall, and avoids the need to mess with the locale of the ultimate output stream. debugger/win/consolewininfo.cpp: Show image mount/create error messages on the console. emu/devdelegate.h, util/delegate.h: Added deduction guides for common delegate creation patterns (only used in sega/segas16a.cpp so far). More noexcept on things that have no business throwing exceptions.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/util/delegate.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/util/delegate.h b/src/lib/util/delegate.h
index df1d6ebcba3..3c0745bf0c5 100644
--- a/src/lib/util/delegate.h
+++ b/src/lib/util/delegate.h
@@ -969,4 +969,13 @@ public:
}
};
+template <class FunctionClass, typename ReturnType, typename... Params>
+delegate(ReturnType (FunctionClass::*)(Params...), FunctionClass *) -> delegate<ReturnType (Params...)>;
+
+template <class FunctionClass, typename ReturnType, typename... Params>
+delegate(ReturnType (FunctionClass::*)(Params...) const, FunctionClass *) -> delegate<ReturnType (Params...)>;
+
+template <class FunctionClass, typename ReturnType, typename... Params>
+delegate(ReturnType (*)(FunctionClass &, Params...), FunctionClass *) -> delegate<ReturnType (Params...)>;
+
#endif // MAME_LIB_UTIL_DELEGATE_H