aboutsummaryrefslogtreecommitdiff
path: root/src/common/Utilities/Util.h
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-09-12 19:42:10 +0200
committerGitHub <noreply@github.com>2020-09-12 19:42:10 +0200
commit75f9e7396e35360f3016cc0cb21e72e20f5d96d5 (patch)
treee738b70d54516717d2c784117fbd2b0134412ac0 /src/common/Utilities/Util.h
parent59be657ca267667b3cbeb1f34d47df0382e97f53 (diff)
[3.3.5] Core/ChatCommands: Show error messages from argument parsers (PR #25443)
Diffstat (limited to 'src/common/Utilities/Util.h')
-rw-r--r--src/common/Utilities/Util.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/common/Utilities/Util.h b/src/common/Utilities/Util.h
index 170fbbd52d9..cf4c6cff23f 100644
--- a/src/common/Utilities/Util.h
+++ b/src/common/Utilities/Util.h
@@ -26,6 +26,7 @@
#include <string>
#include <string_view>
#include <sstream>
+#include <typeinfo>
#include <utility>
#include <vector>
@@ -339,6 +340,11 @@ inline bool ValueContainsStringI(std::pair<T, std::string_view> const& haystack,
{
return StringContainsStringI(haystack.second, needle);
}
+TC_COMMON_API bool StringCompareLessI(std::string_view a, std::string_view b);
+
+struct StringCompareLessI_T {
+ bool operator()(std::string_view a, std::string_view b) const { return StringCompareLessI(a, b); }
+};
// simple class for not-modifyable list
template <typename T>
@@ -544,4 +550,10 @@ Ret* Coalesce(T1* first, T*... rest)
return static_cast<Ret*>(first);
}
+TC_COMMON_API std::string GetTypeName(std::type_info const&);
+template <typename T>
+std::string GetTypeName() { return GetTypeName(typeid(T)); }
+template <typename T>
+std::enable_if_t<!std::is_same_v<std::decay_t<T>, std::type_info>, std::string> GetTypeName(T&& v) { return GetTypeName(typeid(v)); }
+
#endif