diff options
Diffstat (limited to 'libmemunreachable/LinkedList.h')
-rw-r--r-- | libmemunreachable/LinkedList.h | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/libmemunreachable/LinkedList.h b/libmemunreachable/LinkedList.h index 132842da1..f1b8a17fe 100644 --- a/libmemunreachable/LinkedList.h +++ b/libmemunreachable/LinkedList.h @@ -17,44 +17,43 @@ #ifndef LIBMEMUNREACHABLE_LINKED_LIST_H_ #define LIBMEMUNREACHABLE_LINKED_LIST_H_ -template<class T> +template <class T> class LinkedList { -public: - LinkedList() : next_(this), prev_(this), data_() {} - explicit LinkedList(T data) : LinkedList() { - data_ = data; - } - ~LinkedList() {} - void insert(LinkedList<T>& node) { - assert(node.empty()); - node.next_ = this->next_; - node.next_->prev_ = &node; - this->next_ = &node; - node.prev_ = this; - } - void remove() { - this->next_->prev_ = this->prev_; - this->prev_->next_ = this->next_; - this->next_ = this; - this->prev_ = this; - } - T data() { return data_; } - bool empty() { return next_ == this && prev_ == this; } - LinkedList<T> *next() { return next_; } -private: - LinkedList<T> *next_; - LinkedList<T> *prev_; - T data_; + public: + LinkedList() : next_(this), prev_(this), data_() {} + explicit LinkedList(T data) : LinkedList() { data_ = data; } + ~LinkedList() {} + void insert(LinkedList<T>& node) { + assert(node.empty()); + node.next_ = this->next_; + node.next_->prev_ = &node; + this->next_ = &node; + node.prev_ = this; + } + void remove() { + this->next_->prev_ = this->prev_; + this->prev_->next_ = this->next_; + this->next_ = this; + this->prev_ = this; + } + T data() { return data_; } + bool empty() { return next_ == this && prev_ == this; } + LinkedList<T>* next() { return next_; } + + private: + LinkedList<T>* next_; + LinkedList<T>* prev_; + T data_; }; -template<class T> +template <class T> class LinkedListHead { -public: - LinkedListHead() : node_() {} - ~LinkedListHead() {} + public: + LinkedListHead() : node_() {} + ~LinkedListHead() {} -private: - LinkedList<T> node_; + private: + LinkedList<T> node_; }; #endif |