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 | |
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)
10 files changed, 22 insertions, 25 deletions
diff --git a/contrib/enumutils_describe.py b/contrib/enumutils_describe.py index 203cfca8538..60e36cdf6fd 100644 --- a/contrib/enumutils_describe.py +++ b/contrib/enumutils_describe.py @@ -108,7 +108,7 @@ def processFile(path, filename): output.write('#include "SmartEnum.h"\n') output.write('#include <stdexcept>\n') output.write('\n') - output.write('namespace Trinity::Impl\n') + output.write('namespace Trinity::Impl::EnumUtilsImpl\n') output.write('{\n') for name, values in enums: tag = ('data for enum \'%s\' in \'%s.h\' auto-generated' % (name, filename)) 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 (...) { diff --git a/src/server/game/AuctionHouseBot/enuminfo_AuctionHouseBot.cpp b/src/server/game/AuctionHouseBot/enuminfo_AuctionHouseBot.cpp index 2d784a94425..56e664b154e 100644 --- a/src/server/game/AuctionHouseBot/enuminfo_AuctionHouseBot.cpp +++ b/src/server/game/AuctionHouseBot/enuminfo_AuctionHouseBot.cpp @@ -20,7 +20,7 @@ #include "SmartEnum.h" #include <stdexcept> -namespace Trinity::Impl +namespace Trinity::Impl::EnumUtilsImpl { /************************************************************************\ diff --git a/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp b/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp index 01549c93c4f..b7e8c77c919 100644 --- a/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp +++ b/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp @@ -20,7 +20,7 @@ #include "SmartEnum.h" #include <stdexcept> -namespace Trinity::Impl +namespace Trinity::Impl::EnumUtilsImpl { /*************************************************************************\ diff --git a/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp b/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp index af02f32baea..383f5ebf7a2 100644 --- a/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp +++ b/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp @@ -20,7 +20,7 @@ #include "SmartEnum.h" #include <stdexcept> -namespace Trinity::Impl +namespace Trinity::Impl::EnumUtilsImpl { /***************************************************************\ diff --git a/src/server/game/Instances/enuminfo_InstanceScript.cpp b/src/server/game/Instances/enuminfo_InstanceScript.cpp index 7fcbc5d3036..b48195aae4a 100644 --- a/src/server/game/Instances/enuminfo_InstanceScript.cpp +++ b/src/server/game/Instances/enuminfo_InstanceScript.cpp @@ -20,7 +20,7 @@ #include "SmartEnum.h" #include <stdexcept> -namespace Trinity::Impl +namespace Trinity::Impl::EnumUtilsImpl { /***********************************************************************\ diff --git a/src/server/game/Maps/enuminfo_SpawnData.cpp b/src/server/game/Maps/enuminfo_SpawnData.cpp index b2731b57109..a55a21270fc 100644 --- a/src/server/game/Maps/enuminfo_SpawnData.cpp +++ b/src/server/game/Maps/enuminfo_SpawnData.cpp @@ -20,7 +20,7 @@ #include "SmartEnum.h" #include <stdexcept> -namespace Trinity::Impl +namespace Trinity::Impl::EnumUtilsImpl { /*******************************************************************\ diff --git a/src/server/game/Miscellaneous/enuminfo_RaceMask.cpp b/src/server/game/Miscellaneous/enuminfo_RaceMask.cpp index 75acb93cdce..b5eb76a3025 100644 --- a/src/server/game/Miscellaneous/enuminfo_RaceMask.cpp +++ b/src/server/game/Miscellaneous/enuminfo_RaceMask.cpp @@ -20,7 +20,7 @@ #include "SmartEnum.h" #include <stdexcept> -namespace Trinity::Impl +namespace Trinity::Impl::EnumUtilsImpl { /********************************************************\ diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp index 09cbd37e5dc..6a233d278e9 100644 --- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp +++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp @@ -20,7 +20,7 @@ #include "SmartEnum.h" #include <stdexcept> -namespace Trinity::Impl +namespace Trinity::Impl::EnumUtilsImpl { /***************************************************************\ diff --git a/src/server/game/Warden/enuminfo_WardenCheckMgr.cpp b/src/server/game/Warden/enuminfo_WardenCheckMgr.cpp index 7a0eadda436..1d19d4e87be 100644 --- a/src/server/game/Warden/enuminfo_WardenCheckMgr.cpp +++ b/src/server/game/Warden/enuminfo_WardenCheckMgr.cpp @@ -20,7 +20,7 @@ #include "SmartEnum.h" #include <stdexcept> -namespace Trinity::Impl +namespace Trinity::Impl::EnumUtilsImpl { /**********************************************************************\ |