aboutsummaryrefslogtreecommitdiff
path: root/src/common/Utilities/SmartEnum.h
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-08-23 15:04:23 +0200
committerShauren <shauren.trinity@gmail.com>2022-02-04 00:27:12 +0100
commit03b5c17863583246181e71260ab0cff9adc70ccb (patch)
tree31bedccc736607d0acb020145b98ff6f1e4a2c6d /src/common/Utilities/SmartEnum.h
parent27405870e0d331fcd73845d200a061600dcfdd00 (diff)
Common/Utilities: Move EnumUtils' implementation struct from Trinity::Impl to Trinity::Impl::EnumUtilsImpl. This avoids confusing name clashes for other implementations in sub-namespaces of Trinity::Impl.
(cherry picked from commit 91744de3162bab23d7c5a0dd65fc8b4249eb803a)
Diffstat (limited to 'src/common/Utilities/SmartEnum.h')
-rw-r--r--src/common/Utilities/SmartEnum.h29
1 files changed, 13 insertions, 16 deletions
diff --git a/src/common/Utilities/SmartEnum.h b/src/common/Utilities/SmartEnum.h
index 8c9a873dd9c..24e3c60bd30 100644
--- a/src/common/Utilities/SmartEnum.h
+++ b/src/common/Utilities/SmartEnum.h
@@ -32,39 +32,36 @@ struct EnumText
char const* const Description;
};
-namespace Trinity
+namespace Trinity::Impl::EnumUtilsImpl
{
- namespace Impl
+ template <typename Enum>
+ struct EnumUtils
{
- template <typename Enum>
- struct EnumUtils
- {
- static size_t Count();
- static EnumText ToString(Enum value);
- static Enum FromIndex(size_t index);
- static size_t ToIndex(Enum index);
- };
- }
+ static size_t Count();
+ static EnumText ToString(Enum value);
+ static Enum FromIndex(size_t index);
+ static size_t ToIndex(Enum index);
+ };
}
class EnumUtils
{
public:
template <typename Enum>
- static size_t Count() { return Trinity::Impl::EnumUtils<Enum>::Count(); }
+ static size_t Count() { return Trinity::Impl::EnumUtilsImpl::EnumUtils<Enum>::Count(); }
template <typename Enum>
- static EnumText ToString(Enum value) { return Trinity::Impl::EnumUtils<Enum>::ToString(value); }
+ static EnumText ToString(Enum value) { return Trinity::Impl::EnumUtilsImpl::EnumUtils<Enum>::ToString(value); }
template <typename Enum>
- static Enum FromIndex(size_t index) { return Trinity::Impl::EnumUtils<Enum>::FromIndex(index); }
+ static Enum FromIndex(size_t index) { return Trinity::Impl::EnumUtilsImpl::EnumUtils<Enum>::FromIndex(index); }
template <typename Enum>
- static uint32 ToIndex(Enum value) { return Trinity::Impl::EnumUtils<Enum>::ToIndex(value);}
+ static uint32 ToIndex(Enum value) { return Trinity::Impl::EnumUtilsImpl::EnumUtils<Enum>::ToIndex(value);}
template<typename Enum>
static bool IsValid(Enum value)
{
try
{
- Trinity::Impl::EnumUtils<Enum>::ToIndex(value);
+ Trinity::Impl::EnumUtilsImpl::EnumUtils<Enum>::ToIndex(value);
return true;
} catch (...)
{