aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/MapReference.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-07-29 22:18:22 +0200
committerShauren <shauren.trinity@gmail.com>2024-07-29 22:18:22 +0200
commit9242eda6c704ab5c10ab07763e662bb2c65b0396 (patch)
treee7d5f346715b48e0d66f94cefe0ccaf85ab45f5e /src/server/game/Maps/MapReference.h
parent23064351a6f7897cdee06ab55ac30f96a2249f0d (diff)
Core/Misc: Reduce amount of virtual functions and copypasting in Reference<> implementations
Diffstat (limited to 'src/server/game/Maps/MapReference.h')
-rw-r--r--src/server/game/Maps/MapReference.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/server/game/Maps/MapReference.h b/src/server/game/Maps/MapReference.h
index 2a9074ac1cd..c674c9aa971 100644
--- a/src/server/game/Maps/MapReference.h
+++ b/src/server/game/Maps/MapReference.h
@@ -23,18 +23,15 @@
class Map;
class Player;
-class MapReference : public Reference<Map, Player>
+class MapReference : public Reference<Map, Player, MapReference>
{
protected:
- void targetObjectBuildLink() override;
- void targetObjectDestroyLink() override;
- void sourceObjectDestroyLink() override;
+ friend Reference<Map, Player, MapReference>;
+ void targetObjectBuildLink();
+ void targetObjectDestroyLink();
+ void sourceObjectDestroyLink();
public:
- MapReference() : Reference<Map, Player>() { }
+ MapReference() = default;
~MapReference() { unlink(); }
- MapReference* next() { return (MapReference*)Reference<Map, Player>::next(); }
- MapReference const* next() const { return (MapReference const*)Reference<Map, Player>::next(); }
- MapReference* nockeck_prev() { return (MapReference*)Reference<Map, Player>::nocheck_prev(); }
- MapReference const* nocheck_prev() const { return (MapReference const*)Reference<Map, Player>::nocheck_prev(); }
};
#endif