add debug assertion to ilist

This commit is contained in:
Eugene Kosov 2020-08-11 20:12:30 +03:00
parent c96be848d3
commit 01738d08f3

View File

@ -26,8 +26,7 @@ template <class Tag= void> struct ilist_node
{ {
ilist_node() ilist_node()
#ifndef DBUG_OFF #ifndef DBUG_OFF
: : next(NULL), prev(NULL)
next(NULL), prev(NULL)
#endif #endif
{ {
} }
@ -70,11 +69,12 @@ public:
typedef T *pointer; typedef T *pointer;
typedef T &reference; typedef T &reference;
Iterator(ListNode *node) : node_(node) {} Iterator(ListNode *node) : node_(node) { assert(node_); }
Iterator &operator++() Iterator &operator++()
{ {
node_= node_->next; node_= node_->next;
assert(node_);
return *this; return *this;
} }
Iterator operator++(int) Iterator operator++(int)
@ -87,6 +87,7 @@ public:
Iterator &operator--() Iterator &operator--()
{ {
node_= node_->prev; node_= node_->prev;
assert(node_);
return *this; return *this;
} }
Iterator operator--(int) Iterator operator--(int)