From 3388cea685d754fae8b7495473978f9e4f7cfed6 Mon Sep 17 00:00:00 2001 From: Treeston Date: Mon, 29 Jul 2019 16:38:28 +0200 Subject: Core/Misc: Remove Trinity::Containers::Size (duplicate of advstd::size) (cherry picked from commit f1d9a36c5fce23ae9c68e221521a2b492709f8e5) --- src/common/Utilities/Containers.h | 23 +++++------------------ src/server/game/Entities/Object/ObjectGuid.cpp | 6 +++--- src/server/game/Entities/Player/CinematicMgr.cpp | 2 +- src/server/game/Maps/Map.cpp | 2 +- 4 files changed, 10 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/common/Utilities/Containers.h b/src/common/Utilities/Containers.h index 4d376a8eb38..9c2f7849923 100644 --- a/src/common/Utilities/Containers.h +++ b/src/common/Utilities/Containers.h @@ -71,29 +71,16 @@ namespace Trinity namespace Containers { - // replace with std::size in C++17 - template - constexpr inline std::size_t Size(C const& container) - { - return container.size(); - } - - template - constexpr inline std::size_t Size(T const(&)[size]) noexcept - { - return size; - } - // resizes to have at most elements // if it has more than elements, the elements to keep are selected randomly template void RandomResize(C& container, std::size_t requestedSize) { static_assert(std::is_base_of::iterator_category>::value, "Invalid container passed to Trinity::Containers::RandomResize"); - if (Size(container) <= requestedSize) + if (advstd::size(container) <= requestedSize) return; auto keepIt = std::begin(container), curIt = std::begin(container); - uint32 elementsToKeep = requestedSize, elementsToProcess = Size(container); + uint32 elementsToKeep = requestedSize, elementsToProcess = advstd::size(container); while (elementsToProcess) { // this element has chance (elementsToKeep / elementsToProcess) of being kept @@ -132,7 +119,7 @@ namespace Trinity inline auto SelectRandomContainerElement(C const& container) -> typename std::add_const::type& { auto it = std::begin(container); - std::advance(it, urand(0, uint32(Size(container)) - 1)); + std::advance(it, urand(0, uint32(advstd::size(container)) - 1)); return *it; } @@ -165,7 +152,7 @@ namespace Trinity inline auto SelectRandomWeightedContainerElement(C const& container, Fn weightExtractor) -> decltype(std::begin(container)) { std::vector weights; - weights.reserve(Size(container)); + weights.reserve(advstd::size(container)); double weightSum = 0.0; for (auto& val : container) { @@ -174,7 +161,7 @@ namespace Trinity weightSum += weight; } if (weightSum <= 0.0) - weights.assign(Size(container), 1.0); + weights.assign(advstd::size(container), 1.0); return SelectRandomWeightedContainerElement(container, weights); } diff --git a/src/server/game/Entities/Object/ObjectGuid.cpp b/src/server/game/Entities/Object/ObjectGuid.cpp index 8d706d5c9c1..e21ceaeb45d 100644 --- a/src/server/game/Entities/Object/ObjectGuid.cpp +++ b/src/server/game/Entities/Object/ObjectGuid.cpp @@ -17,13 +17,13 @@ #include "ObjectGuid.h" #include "ByteBuffer.h" -#include "Containers.h" #include "Errors.h" #include "Hash.h" #include "Log.h" #include "Realm.h" #include "Util.h" #include "World.h" +#include "advstd.h" static_assert(sizeof(ObjectGuid) == sizeof(uint64) * 2, "ObjectGuid must be exactly 16 bytes"); @@ -104,7 +104,7 @@ namespace }; ObjectGuid::LowType id = guid.GetCounter(); - if (id >= Trinity::Containers::Size(uniqNames)) + if (id >= advstd::size(uniqNames)) id = 3; return Trinity::StringFormat("%s-%s", typeName, uniqNames[id]); @@ -134,7 +134,7 @@ namespace "WOWGUID_UNIQUE_ACCOUNT_OBJ_INITIALIZATION" }; - for (std::size_t id = 0; id < Trinity::Containers::Size(uniqNames); ++id) + for (std::size_t id = 0; id < advstd::size(uniqNames); ++id) { if (!uniqNames[id]) continue; diff --git a/src/server/game/Entities/Player/CinematicMgr.cpp b/src/server/game/Entities/Player/CinematicMgr.cpp index 1081f248781..7402f161138 100644 --- a/src/server/game/Entities/Player/CinematicMgr.cpp +++ b/src/server/game/Entities/Player/CinematicMgr.cpp @@ -46,7 +46,7 @@ CinematicMgr::~CinematicMgr() void CinematicMgr::NextCinematicCamera() { // Sanity check for active camera set - if (!m_activeCinematic || m_activeCinematicCameraIndex >= int32(Trinity::Containers::Size(m_activeCinematic->Camera))) + if (!m_activeCinematic || m_activeCinematicCameraIndex >= int32(advstd::size(m_activeCinematic->Camera))) return; uint32 cinematicCameraId = m_activeCinematic->Camera[++m_activeCinematicCameraIndex]; diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index fce264a21ea..c85b800b23b 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -113,7 +113,7 @@ void Map::DiscoverGridMapFiles() && fread(&build, sizeof(build), 1, tileList) == 1 && fread(&tilesData[0], MAX_NUMBER_OF_GRIDS * MAX_NUMBER_OF_GRIDS, 1, tileList) == 1) { - i_gridFileExists = std::bitset(tilesData, Trinity::Containers::Size(tilesData)); + i_gridFileExists = std::bitset(tilesData, advstd::size(tilesData)); fclose(tileList); return; } -- cgit v1.2.3