aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Grids/GridReference.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/Grids/GridReference.h
parent23064351a6f7897cdee06ab55ac30f96a2249f0d (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.h12
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