aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Dynamic/LinkedReference
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/shared/Dynamic/LinkedReference')
-rw-r--r--src/server/shared/Dynamic/LinkedReference/RefManager.h17
-rw-r--r--src/server/shared/Dynamic/LinkedReference/Reference.h10
2 files changed, 8 insertions, 19 deletions
diff --git a/src/server/shared/Dynamic/LinkedReference/RefManager.h b/src/server/shared/Dynamic/LinkedReference/RefManager.h
index 0c26d5d0d69..8a267fc28de 100644
--- a/src/server/shared/Dynamic/LinkedReference/RefManager.h
+++ b/src/server/shared/Dynamic/LinkedReference/RefManager.h
@@ -29,15 +29,14 @@ public:
typedef LinkedListHead::Iterator<ReferenceType const> const_iterator;
RefManager() { }
- ReferenceType* getFirst() { return static_cast<ReferenceType*>(LinkedListHead::getFirst()); }
+ ReferenceType* front() { return front_impl<ReferenceType>(); }
+ ReferenceType const* front() const { return front_impl<ReferenceType>(); }
- ReferenceType const* getFirst() const { return static_cast<ReferenceType const*>(LinkedListHead::getFirst()); }
+ iterator begin() { return begin_impl<ReferenceType>(); }
+ iterator end() { return end_impl<ReferenceType>(); }
- iterator begin() { return iterator(getFirst()); }
- iterator end() { return iterator(nullptr); }
-
- const_iterator begin() const { return const_iterator(getFirst()); }
- const_iterator end() const { return const_iterator(nullptr); }
+ const_iterator begin() const { return begin_impl<ReferenceType>(); }
+ const_iterator end() const { return end_impl<ReferenceType>(); }
virtual ~RefManager()
{
@@ -46,8 +45,8 @@ public:
void clearReferences()
{
- while (ReferenceType* ref = getFirst())
- ref->invalidate();
+ while (!empty())
+ front()->invalidate();
}
};
diff --git a/src/server/shared/Dynamic/LinkedReference/Reference.h b/src/server/shared/Dynamic/LinkedReference/Reference.h
index 0c86386f5e2..2b58cbe5e4b 100644
--- a/src/server/shared/Dynamic/LinkedReference/Reference.h
+++ b/src/server/shared/Dynamic/LinkedReference/Reference.h
@@ -81,16 +81,6 @@ template <class TO, class FROM, class Derived> class Reference : public LinkedLi
return iRefTo != nullptr;
}
- Derived * next() { return static_cast<Derived*>(LinkedListElement::next()); }
- Derived const* next() const { return static_cast<Derived const*>(LinkedListElement::next()); }
- Derived * prev() { return static_cast<Derived*>(LinkedListElement::prev()); }
- Derived const* prev() const { return static_cast<Derived const*>(LinkedListElement::prev()); }
-
- Derived * nocheck_next() { return static_cast<Derived*>(LinkedListElement::nocheck_next()); }
- Derived const* nocheck_next() const { return static_cast<Derived const*>(LinkedListElement::nocheck_next()); }
- Derived * nocheck_prev() { return static_cast<Derived*>(LinkedListElement::nocheck_prev()); }
- Derived const* nocheck_prev() const { return static_cast<Derived const*>(LinkedListElement::nocheck_prev()); }
-
TO* operator->() const { return iRefTo; }
TO* getTarget() const { return iRefTo; }