From 27cd5a90f4c1f34c47cd4e1bd1a616e9b11b10ec Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 7 Jan 2023 22:38:21 +0100 Subject: Core/Misc: Replace enable_if overload selection with if constexpr (cherry picked from commit a53e4a57565d3375a978effbbc32d3eed6aac7e3) --- src/common/Utilities/Util.h | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'src/common/Utilities/Util.h') diff --git a/src/common/Utilities/Util.h b/src/common/Utilities/Util.h index 87dd45d3cbc..d37b86f85e5 100644 --- a/src/common/Utilities/Util.h +++ b/src/common/Utilities/Util.h @@ -557,10 +557,23 @@ Ret* Coalesce(T1* first, T*... rest) return static_cast(first); } -TC_COMMON_API std::string GetTypeName(std::type_info const&); +namespace Trinity +{ +namespace Impl +{ + TC_COMMON_API std::string GetTypeName(std::type_info const&); +} + template -std::string GetTypeName() { return GetTypeName(typeid(T)); } +std::string GetTypeName() { return Impl::GetTypeName(typeid(T)); } template -std::enable_if_t, std::type_info>, std::string> GetTypeName(T&& v) { return GetTypeName(typeid(v)); } +std::string GetTypeName(T&& v) +{ + if constexpr (std::is_same_v, std::type_info>) + return Impl::GetTypeName(v); + else + return Impl::GetTypeName(typeid(v)); +} +} #endif -- cgit v1.2.3