#include <tree.h>
Definition at line 269 of file tree.h.
Public Member Functions | |
leaf_iterator () | |
leaf_iterator (tree_node *) | |
leaf_iterator (const sibling_iterator &) | |
leaf_iterator (const iterator_base &) | |
bool | operator== (const leaf_iterator &) const |
bool | operator!= (const leaf_iterator &) const |
leaf_iterator & | operator++ () |
leaf_iterator & | operator-- () |
leaf_iterator | operator++ (int) |
leaf_iterator | operator-- (int) |
leaf_iterator & | operator+= (unsigned int) |
leaf_iterator & | operator-= (unsigned int) |
tree< T, tree_node_allocator >::leaf_iterator::leaf_iterator | ( | ) | [inline] |
tree< T, tree_node_allocator >::leaf_iterator::leaf_iterator | ( | const sibling_iterator & | other | ) | [inline] |
Definition at line 2539 of file tree.h.
References tree< T, tree_node_allocator >::iterator_base::node, tree< T, tree_node_allocator >::sibling_iterator::parent_, and tree< T, tree_node_allocator >::sibling_iterator::range_last().
02540 : iterator_base(other.node) 02541 { 02542 if(this->node==0) { 02543 if(other.range_last()!=0) 02544 this->node=other.range_last(); 02545 else 02546 this->node=other.parent_; 02547 ++(*this); 02548 } 02549 }
tree< T, tree_node_allocator >::leaf_iterator::leaf_iterator | ( | const iterator_base & | other | ) | [inline] |
bool tree< T, tree_node_allocator >::leaf_iterator::operator== | ( | const leaf_iterator & | other | ) | const [inline] |
Definition at line 1872 of file tree.h.
References tree< T, tree_node_allocator >::iterator_base::node.
bool tree< T, tree_node_allocator >::leaf_iterator::operator!= | ( | const leaf_iterator & | other | ) | const [inline] |
Definition at line 1865 of file tree.h.
References tree< T, tree_node_allocator >::iterator_base::node.
tree< T, tree_node_allocator >::leaf_iterator & tree< T, tree_node_allocator >::leaf_iterator::operator++ | ( | ) | [inline] |
Definition at line 2552 of file tree.h.
References tree_node_< T >::first_child, tree_node_< T >::next_sibling, tree< T, tree_node_allocator >::iterator_base::node, and tree_node_< T >::parent.
02553 { 02554 assert(this->node!=0); 02555 while(this->node->next_sibling==0) { 02556 if (this->node->parent==0) return *this; 02557 this->node=this->node->parent; 02558 } 02559 this->node=this->node->next_sibling; 02560 while(this->node->first_child) 02561 this->node=this->node->first_child; 02562 return *this; 02563 }
tree< T, tree_node_allocator >::leaf_iterator & tree< T, tree_node_allocator >::leaf_iterator::operator-- | ( | ) | [inline] |
Definition at line 2566 of file tree.h.
References tree_node_< T >::last_child, tree< T, tree_node_allocator >::iterator_base::node, tree_node_< T >::parent, and tree_node_< T >::prev_sibling.
02567 { 02568 assert(this->node!=0); 02569 while (this->node->prev_sibling==0) { 02570 if (this->node->parent==0) return *this; 02571 this->node=this->node->parent; 02572 } 02573 this->node=this->node->prev_sibling; 02574 while(this->node->last_child) 02575 this->node=this->node->last_child; 02576 return *this; 02577 }
tree< T, tree_node_allocator >::leaf_iterator tree< T, tree_node_allocator >::leaf_iterator::operator++ | ( | int | ) | [inline] |
Definition at line 2580 of file tree.h.
02581 { 02582 leaf_iterator copy = *this; 02583 ++(*this); 02584 return copy; 02585 }
tree< T, tree_node_allocator >::leaf_iterator tree< T, tree_node_allocator >::leaf_iterator::operator-- | ( | int | ) | [inline] |
Definition at line 2588 of file tree.h.
02589 { 02590 leaf_iterator copy = *this; 02591 --(*this); 02592 return copy; 02593 }
tree< T, tree_node_allocator >::leaf_iterator & tree< T, tree_node_allocator >::leaf_iterator::operator+= | ( | unsigned int | num | ) | [inline] |
tree< T, tree_node_allocator >::leaf_iterator & tree< T, tree_node_allocator >::leaf_iterator::operator-= | ( | unsigned int | num | ) | [inline] |