From 4220ec8eeec571ec4f384a1a6dc87532d920429c Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 16 Dec 2024 11:56:03 +0100 Subject: Core/Misc: Fixed build with c++23 enabled Closes #30511 --- src/common/Utilities/advstd.h | 12 +++++++----- src/server/database/Database/Transaction.cpp | 2 ++ src/server/database/Database/Transaction.h | 5 +++++ .../Movement/MovementGenerators/FleeingMovementGenerator.cpp | 2 ++ .../Movement/MovementGenerators/FleeingMovementGenerator.h | 5 +++++ .../Movement/MovementGenerators/PointMovementGenerator.cpp | 2 ++ .../Movement/MovementGenerators/PointMovementGenerator.h | 5 +++++ 7 files changed, 28 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/common/Utilities/advstd.h b/src/common/Utilities/advstd.h index 42acf5653ed..47261837272 100644 --- a/src/common/Utilities/advstd.h +++ b/src/common/Utilities/advstd.h @@ -53,13 +53,13 @@ template // for std::ranges::find -#include // for std::ranges::equal_to, std::identity -#include // for std::input_iterator, std::sentinel_for, std::projected +#include namespace advstd::ranges { +#ifndef __cpp_lib_ranges_contains +#include // for std::ranges::equal_to, std::identity +#include // for std::input_iterator, std::sentinel_for, std::projected struct Contains { template S, class T, class Proj = std::identity> @@ -78,7 +78,9 @@ struct Contains return std::ranges::find(std::move(first), last, value, proj) != last; } } inline constexpr contains; -} +#else +using std::ranges::contains; #endif +} #endif diff --git a/src/server/database/Database/Transaction.cpp b/src/server/database/Database/Transaction.cpp index f1ddb608c6c..addab661df0 100644 --- a/src/server/database/Database/Transaction.cpp +++ b/src/server/database/Database/Transaction.cpp @@ -30,6 +30,8 @@ std::mutex TransactionTask::_deadlockLock; #define DEADLOCK_MAX_RETRY_TIME_MS 60000 +TransactionData::~TransactionData() = default; + //- Append a raw ad-hoc query to the transaction void TransactionBase::Append(char const* sql) { diff --git a/src/server/database/Database/Transaction.h b/src/server/database/Database/Transaction.h index c60b74b58b8..9c4284b49c8 100644 --- a/src/server/database/Database/Transaction.h +++ b/src/server/database/Database/Transaction.h @@ -35,6 +35,11 @@ struct TransactionData template TransactionData(Args&&... args) : query(std::forward(args)...) { } + TransactionData(TransactionData const&) = delete; + TransactionData(TransactionData&&) noexcept = default; + TransactionData& operator=(TransactionData const&) = delete; + TransactionData& operator=(TransactionData&&) noexcept = default; + ~TransactionData(); static PreparedStatementBase* ToExecutable(std::unique_ptr const& stmt) { return stmt.get(); } static char const* ToExecutable(std::string const& sql) { return sql.c_str(); } diff --git a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp index 3e03b58d28c..95fd612ae65 100644 --- a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp @@ -36,6 +36,8 @@ FleeingMovementGenerator::FleeingMovementGenerator(ObjectGuid fleeTargetGUID, ScriptResult = std::move(scriptResult); } +FleeingMovementGenerator::~FleeingMovementGenerator() = default; + MovementGeneratorType FleeingMovementGenerator::GetMovementGeneratorType() const { return FLEEING_MOTION_TYPE; diff --git a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h index d8a28e9e54b..7da2589d647 100755 --- a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h +++ b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h @@ -30,6 +30,11 @@ class FleeingMovementGenerator : public MovementGenerator public: explicit FleeingMovementGenerator(ObjectGuid fleeTargetGUID, Optional>&& scriptResult = {}); + FleeingMovementGenerator(FleeingMovementGenerator const&) = delete; + FleeingMovementGenerator(FleeingMovementGenerator&&) = delete; + FleeingMovementGenerator& operator=(FleeingMovementGenerator const&) = delete; + FleeingMovementGenerator& operator=(FleeingMovementGenerator&&) = delete; + ~FleeingMovementGenerator(); MovementGeneratorType GetMovementGeneratorType() const override; diff --git a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp index 60c4b73a8e8..d70b9b3b95a 100755 --- a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp @@ -45,6 +45,8 @@ PointMovementGenerator::PointMovementGenerator(uint32 id, float x, float y, floa this->i_spellEffectExtra = std::make_unique(*spellEffectExtraData); } +PointMovementGenerator::~PointMovementGenerator() = default; + MovementGeneratorType PointMovementGenerator::GetMovementGeneratorType() const { return POINT_MOTION_TYPE; diff --git a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.h b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.h index ea5ffc8ada3..e9e2210c919 100644 --- a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.h +++ b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.h @@ -35,6 +35,11 @@ class PointMovementGenerator : public MovementGenerator MovementWalkRunSpeedSelectionMode speedSelectionMode = MovementWalkRunSpeedSelectionMode::Default, Optional closeEnoughDistance = {}, Optional>&& scriptResult = {}); + PointMovementGenerator(PointMovementGenerator const&) = delete; + PointMovementGenerator(PointMovementGenerator&&) = delete; + PointMovementGenerator& operator=(PointMovementGenerator const&) = delete; + PointMovementGenerator& operator=(PointMovementGenerator&&) = delete; + ~PointMovementGenerator(); MovementGeneratorType GetMovementGeneratorType() const override; -- cgit v1.2.3