feat(Core): enable C++17 (#2234)

Co-authored-by: Winfidonarleyan <dowlandtop@yandex.com>
This commit is contained in:
Francesco Borzì
2019-09-02 08:54:10 +02:00
committed by Kargatum
parent cae91f1650
commit 3a43e8c415
28 changed files with 61 additions and 46 deletions

View File

@@ -28,7 +28,7 @@ enum SelectAggroTarget
};
// default predicate function to select target based on distance, player and/or aura criteria
struct DefaultTargetSelector : public std::unary_function<Unit*, bool>
struct DefaultTargetSelector : public ACORE::unary_function<Unit*, bool>
{
const Unit* me;
float m_dist;
@@ -78,7 +78,7 @@ struct DefaultTargetSelector : public std::unary_function<Unit*, bool>
// Target selector for spell casts checking range, auras and attributes
// TODO: Add more checks from Spell::CheckCast
struct SpellTargetSelector : public std::unary_function<Unit*, bool>
struct SpellTargetSelector : public ACORE::unary_function<Unit*, bool>
{
public:
SpellTargetSelector(Unit* caster, uint32 spellId);
@@ -92,7 +92,7 @@ struct SpellTargetSelector : public std::unary_function<Unit*, bool>
// Very simple target selector, will just skip main target
// NOTE: When passing to UnitAI::SelectTarget remember to use 0 as position for random selection
// because tank will not be in the temporary list
struct NonTankTargetSelector : public std::unary_function<Unit*, bool>
struct NonTankTargetSelector : public ACORE::unary_function<Unit*, bool>
{
public:
NonTankTargetSelector(Creature* source, bool playerOnly = true) : _source(source), _playerOnly(playerOnly) { }
@@ -104,7 +104,7 @@ struct NonTankTargetSelector : public std::unary_function<Unit*, bool>
};
// Simple selector for units using mana
struct PowerUsersSelector : public std::unary_function<Unit*, bool>
struct PowerUsersSelector : public ACORE::unary_function<Unit*, bool>
{
Unit const* _me;
Powers const _power;
@@ -135,7 +135,7 @@ struct PowerUsersSelector : public std::unary_function<Unit*, bool>
}
};
struct FarthestTargetSelector : public std::unary_function<Unit*, bool>
struct FarthestTargetSelector : public ACORE::unary_function<Unit*, bool>
{
FarthestTargetSelector(Unit const* unit, float dist, bool playerOnly, bool inLos) : _me(unit), _dist(dist), _playerOnly(playerOnly), _inLos(inLos) {}
@@ -191,7 +191,7 @@ class UnitAI
Unit* SelectTarget(SelectAggroTarget targetType, uint32 position = 0, float dist = 0.0f, bool playerOnly = false, int32 aura = 0);
// Select the targets satifying the predicate.
// predicate shall extend std::unary_function<Unit*, bool>
// predicate shall extend ACORE::unary_function<Unit*, bool>
template <class PREDICATE> Unit* SelectTarget(SelectAggroTarget targetType, uint32 position, PREDICATE const& predicate)
{
ThreatContainer::StorageType const& threatlist = me->getThreatManager().getThreatList();
@@ -241,7 +241,7 @@ class UnitAI
void SelectTargetList(std::list<Unit*>& targetList, uint32 num, SelectAggroTarget targetType, float dist = 0.0f, bool playerOnly = false, int32 aura = 0);
// Select the targets satifying the predicate.
// predicate shall extend std::unary_function<Unit*, bool>
// predicate shall extend ACORE::unary_function<Unit*, bool>
template <class PREDICATE> void SelectTargetList(std::list<Unit*>& targetList, PREDICATE const& predicate, uint32 maxTargets, SelectAggroTarget targetType)
{
ThreatContainer::StorageType const& threatlist = me->getThreatManager().getThreatList();