diff options
author | Treeston <treeston.mmoc@gmail.com> | 2020-09-12 19:42:10 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-05 23:42:15 +0100 |
commit | 378691aaa286822ee20e0428d278f2bca6e7438e (patch) | |
tree | 82ee5ee5466dc5a593ab7aef9875c89e675dc63e /src/common/Utilities/Util.h | |
parent | 7d0586812a8e7d17f901d9e01af424c4a4ff6bc7 (diff) |
[3.3.5] Core/ChatCommands: Show error messages from argument parsers (PR #25443)
(cherry picked from commit 75f9e7396e35360f3016cc0cb21e72e20f5d96d5)
Diffstat (limited to 'src/common/Utilities/Util.h')
-rw-r--r-- | src/common/Utilities/Util.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/common/Utilities/Util.h b/src/common/Utilities/Util.h index 61f3d17acf8..8a24981c837 100644 --- a/src/common/Utilities/Util.h +++ b/src/common/Utilities/Util.h @@ -25,6 +25,7 @@ #include <array> #include <string> #include <string_view> +#include <typeinfo> #include <utility> #include <vector> @@ -377,6 +378,12 @@ 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> @@ -599,6 +606,12 @@ 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)); } + template<typename T> struct NonDefaultConstructible { |