diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/templates/self_list.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/core/templates/self_list.h b/core/templates/self_list.h index c3d7391d6c..ff6fa953ae 100644 --- a/core/templates/self_list.h +++ b/core/templates/self_list.h @@ -99,11 +99,20 @@ public: p_elem->_root = nullptr; } + void clear() { + while (_first) { + remove(_first); + } + } + _FORCE_INLINE_ SelfList<T> *first() { return _first; } _FORCE_INLINE_ const SelfList<T> *first() const { return _first; } _FORCE_INLINE_ List() {} - _FORCE_INLINE_ ~List() { ERR_FAIL_COND(_first != nullptr); } + _FORCE_INLINE_ ~List() { + // A self list must be empty on destruction. + DEV_ASSERT(_first == nullptr); + } }; private: |