diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-07-29 22:18:22 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-07-29 22:18:22 +0200 |
commit | 9242eda6c704ab5c10ab07763e662bb2c65b0396 (patch) | |
tree | e7d5f346715b48e0d66f94cefe0ccaf85ab45f5e /src/server/game/Grids/GridReference.h | |
parent | 23064351a6f7897cdee06ab55ac30f96a2249f0d (diff) |
Core/Misc: Reduce amount of virtual functions and copypasting in Reference<> implementations
Diffstat (limited to 'src/server/game/Grids/GridReference.h')
-rw-r--r-- | src/server/game/Grids/GridReference.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/Grids/GridReference.h b/src/server/game/Grids/GridReference.h index e2ae18240e5..78d177addda 100644 --- a/src/server/game/Grids/GridReference.h +++ b/src/server/game/Grids/GridReference.h @@ -24,28 +24,28 @@ template<class OBJECT> class GridRefManager; template<class OBJECT> -class GridReference : public Reference<GridRefManager<OBJECT>, OBJECT> +class GridReference : public Reference<GridRefManager<OBJECT>, OBJECT, GridReference<OBJECT>> { protected: - void targetObjectBuildLink() override + friend Reference<GridRefManager<OBJECT>, OBJECT, GridReference<OBJECT>>; + void targetObjectBuildLink() { // called from link() this->getTarget()->insertFirst(this); this->getTarget()->incSize(); } - void targetObjectDestroyLink() override + void targetObjectDestroyLink() { // called from unlink() if (this->isValid()) this->getTarget()->decSize(); } - void sourceObjectDestroyLink() override + void sourceObjectDestroyLink() { // called from invalidate() this->getTarget()->decSize(); } public: - GridReference() : Reference<GridRefManager<OBJECT>, OBJECT>() { } + GridReference() = default; ~GridReference() { this->unlink(); } - GridReference* next() { return (GridReference*)Reference<GridRefManager<OBJECT>, OBJECT>::next(); } }; #endif |