aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/Utilities/Containers.h23
-rw-r--r--src/server/game/Entities/Object/ObjectGuid.cpp6
-rw-r--r--src/server/game/Entities/Player/CinematicMgr.cpp2
-rw-r--r--src/server/game/Maps/Map.cpp2
4 files changed, 10 insertions, 23 deletions
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<class C>
- constexpr inline std::size_t Size(C const& container)
- {
- return container.size();
- }
-
- template<class T, std::size_t size>
- constexpr inline std::size_t Size(T const(&)[size]) noexcept
- {
- return size;
- }
-
// resizes <container> to have at most <requestedSize> elements
// if it has more than <requestedSize> elements, the elements to keep are selected randomly
template<class C>
void RandomResize(C& container, std::size_t requestedSize)
{
static_assert(std::is_base_of<std::forward_iterator_tag, typename std::iterator_traits<typename C::iterator>::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<decltype(*std::begin(container))>::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<double> 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<MAX_NUMBER_OF_GRIDS * MAX_NUMBER_OF_GRIDS>(tilesData, Trinity::Containers::Size(tilesData));
+ i_gridFileExists = std::bitset<MAX_NUMBER_OF_GRIDS * MAX_NUMBER_OF_GRIDS>(tilesData, advstd::size(tilesData));
fclose(tileList);
return;
}