aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Pools
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-02-12 21:36:46 +0100
committerShauren <shauren.trinity@gmail.com>2022-02-12 21:36:46 +0100
commitf8ad7017dd69e3853ed5912ac6151bc56b6265a0 (patch)
tree13c6568cf2e7b3a7ccb964b12f6686651f0e714d /src/server/game/Pools
parent5b28a5ab14f3ca25f986d547e2d2005be3f047b7 (diff)
Core/Misc: Move (or delete) constructors and destructors to .cpp files (avoids compiling them in every file that includes them)
Diffstat (limited to 'src/server/game/Pools')
-rw-r--r--src/server/game/Pools/PoolMgr.cpp14
-rw-r--r--src/server/game/Pools/PoolMgr.h25
2 files changed, 35 insertions, 4 deletions
diff --git a/src/server/game/Pools/PoolMgr.cpp b/src/server/game/Pools/PoolMgr.cpp
index fdae087c09c..52e8c4cfa1e 100644
--- a/src/server/game/Pools/PoolMgr.cpp
+++ b/src/server/game/Pools/PoolMgr.cpp
@@ -32,6 +32,9 @@ PoolObject::PoolObject(uint64 _guid, float _chance) : guid(_guid), chance(std::f
////////////////////////////////////////////////////////////
// template class ActivePoolData
+ActivePoolData::ActivePoolData() = default;
+ActivePoolData::~ActivePoolData() = default;
+
// Method that tell amount spawned objects/subpools
uint32 ActivePoolData::GetActiveObjectCount(uint32 pool_id) const
{
@@ -111,6 +114,14 @@ void ActivePoolData::RemoveObject<Pool>(uint64 sub_pool_id, uint32 pool_id)
////////////////////////////////////////////////////////////
// Methods of template class PoolGroup
+template <class T>
+PoolGroup<T>::PoolGroup(): poolId(0)
+{
+}
+
+template <class T>
+PoolGroup<T>::~PoolGroup() = default;
+
// Method to add a gameobject/creature guid to the proper list depending on pool type and chance value
template <class T>
void PoolGroup<T>::AddEntry(PoolObject& poolitem, uint32 maxentries)
@@ -422,7 +433,8 @@ void PoolGroup<Pool>::RemoveRespawnTimeFromDB(uint64 /*guid*/) { }
////////////////////////////////////////////////////////////
// Methods of class PoolMgr
-PoolMgr::PoolMgr() { }
+PoolMgr::PoolMgr() = default;
+PoolMgr::~PoolMgr() = default;
void PoolMgr::Initialize()
{
diff --git a/src/server/game/Pools/PoolMgr.h b/src/server/game/Pools/PoolMgr.h
index a37733c66fc..867e7e275ae 100644
--- a/src/server/game/Pools/PoolMgr.h
+++ b/src/server/game/Pools/PoolMgr.h
@@ -51,6 +51,14 @@ typedef std::map<uint64, uint32> ActivePoolPools;
class TC_GAME_API ActivePoolData
{
public:
+ explicit ActivePoolData();
+ ~ActivePoolData();
+
+ ActivePoolData(ActivePoolData const& right) = delete;
+ ActivePoolData(ActivePoolData&& right) = delete;
+ ActivePoolData& operator=(ActivePoolData const& right) = delete;
+ ActivePoolData& operator=(ActivePoolData&& right) = delete;
+
template<typename T>
bool IsActiveObject(uint64 db_guid_or_pool_id) const;
@@ -72,9 +80,15 @@ class TC_GAME_API PoolGroup
{
typedef std::vector<PoolObject> PoolObjectList;
public:
- explicit PoolGroup() : poolId(0) { }
+ explicit PoolGroup();
+ ~PoolGroup();
+
+ PoolGroup(PoolGroup const& right) = delete;
+ PoolGroup(PoolGroup&& right) = delete;
+ PoolGroup& operator=(PoolGroup const& right) = delete;
+ PoolGroup& operator=(PoolGroup&& right) = delete;
+
void SetPoolId(uint32 pool_id) { poolId = pool_id; }
- ~PoolGroup() { };
bool isEmpty() const { return ExplicitlyChanced.empty() && EqualChanced.empty(); }
void AddEntry(PoolObject& poolitem, uint32 maxentries);
bool CheckPool() const;
@@ -103,9 +117,14 @@ class TC_GAME_API PoolMgr
{
private:
PoolMgr();
- ~PoolMgr() { };
+ ~PoolMgr();
public:
+ PoolMgr(PoolMgr const& right) = delete;
+ PoolMgr(PoolMgr&& right) = delete;
+ PoolMgr& operator=(PoolMgr const& right) = delete;
+ PoolMgr& operator=(PoolMgr&& right) = delete;
+
static PoolMgr* instance();
void LoadFromDB();