summaryrefslogtreecommitdiff
path: root/core/self_list.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/self_list.h')
-rw-r--r--core/self_list.h53
1 files changed, 24 insertions, 29 deletions
diff --git a/core/self_list.h b/core/self_list.h
index aec3c33adc..45986d77e9 100644
--- a/core/self_list.h
+++ b/core/self_list.h
@@ -31,78 +31,74 @@
#include "typedefs.h"
-template<class T>
+template <class T>
class SelfList {
public:
-
-
-
class List {
-
SelfList<T> *_first;
+
public:
void add(SelfList<T> *p_elem) {
ERR_FAIL_COND(p_elem->_root);
- p_elem->_root=this;
- p_elem->_next=_first;
- p_elem->_prev=NULL;
+ p_elem->_root = this;
+ p_elem->_next = _first;
+ p_elem->_prev = NULL;
if (_first)
- _first->_prev=p_elem;
- _first=p_elem;
+ _first->_prev = p_elem;
+ _first = p_elem;
}
void remove(SelfList<T> *p_elem) {
- ERR_FAIL_COND(p_elem->_root!=this);
+ ERR_FAIL_COND(p_elem->_root != this);
if (p_elem->_next) {
- p_elem->_next->_prev=p_elem->_prev;
+ p_elem->_next->_prev = p_elem->_prev;
}
if (p_elem->_prev) {
- p_elem->_prev->_next=p_elem->_next;
+ p_elem->_prev->_next = p_elem->_next;
}
- if (_first==p_elem) {
+ if (_first == p_elem) {
- _first=p_elem->_next;
+ _first = p_elem->_next;
}
- p_elem->_next=NULL;
- p_elem->_prev=NULL;
- p_elem->_root=NULL;
+ p_elem->_next = NULL;
+ p_elem->_prev = NULL;
+ p_elem->_root = NULL;
}
_FORCE_INLINE_ SelfList<T> *first() { return _first; }
_FORCE_INLINE_ const SelfList<T> *first() const { return _first; }
- _FORCE_INLINE_ List() { _first=NULL; }
- _FORCE_INLINE_ ~List() { ERR_FAIL_COND(_first!=NULL); }
-
+ _FORCE_INLINE_ List() { _first = NULL; }
+ _FORCE_INLINE_ ~List() { ERR_FAIL_COND(_first != NULL); }
};
+
private:
List *_root;
T *_self;
SelfList<T> *_next;
SelfList<T> *_prev;
-public:
+public:
_FORCE_INLINE_ bool in_list() const { return _root; }
_FORCE_INLINE_ SelfList<T> *next() { return _next; }
_FORCE_INLINE_ SelfList<T> *prev() { return _prev; }
_FORCE_INLINE_ const SelfList<T> *next() const { return _next; }
_FORCE_INLINE_ const SelfList<T> *prev() const { return _prev; }
- _FORCE_INLINE_ T*self() const { return _self; }
-
+ _FORCE_INLINE_ T *self() const { return _self; }
_FORCE_INLINE_ SelfList(T *p_self) {
- _self=p_self;
- _next=NULL;
- _prev=NULL;
- _root=NULL;
+ _self = p_self;
+ _next = NULL;
+ _prev = NULL;
+ _root = NULL;
}
_FORCE_INLINE_ ~SelfList() {
@@ -110,7 +106,6 @@ public:
if (_root)
_root->remove(this);
}
-
};
#endif // SELF_LIST_H