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
committerTreeston <treeston.mmoc@gmail.com>2020-08-23 15:05:04 +0200
commit91744de3162bab23d7c5a0dd65fc8b4249eb803a (patch)
treed689da90ceb67946887c950493e36c0d6a37d3b0 /src/common/Utilities/SmartEnum.h
parent6d295629cf01cc23e9c6c521c767a4fa6fd0eb41 (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.
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 (...)
{