--- deliantra/server/include/object.h 2006/09/11 23:33:29 1.29 +++ deliantra/server/include/object.h 2006/09/12 01:09:53 1.30 @@ -244,8 +244,8 @@ { object *item; - iterator_base (object *item) - : item(item) + iterator_base (object *container) + : item (container) { } @@ -255,10 +255,10 @@ object &operator * () const { return *item; } }; - struct deep_iterator : iterator_base + // depth-first recursive iterator + struct depth_iterator : iterator_base { - deep_iterator (object *op) : iterator_base (op) { } - + depth_iterator (object *container); void next (); object *operator ++( ) { next (); return item; } object *operator ++(int) { object *i = item; next (); return i; } @@ -266,12 +266,12 @@ object *begin () { - return this->inv ? this->inv : end (); + return this; } object *end () { - return this->below; + return this; } protected: