diff options
author | Treeston <treeston.mmoc@gmail.com> | 2020-08-23 15:04:23 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-04 00:27:12 +0100 |
commit | 03b5c17863583246181e71260ab0cff9adc70ccb (patch) | |
tree | 31bedccc736607d0acb020145b98ff6f1e4a2c6d /src/common | |
parent | 27405870e0d331fcd73845d200a061600dcfdd00 (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')
-rw-r--r-- | src/common/Utilities/SmartEnum.h | 29 |
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 (...) { |