#include <tree.h>
Definition at line 200 of file tree.h.
Public Member Functions | |
breadth_first_queued_iterator () | |
breadth_first_queued_iterator (tree_node *) | |
breadth_first_queued_iterator (const iterator_base &) | |
bool | operator== (const breadth_first_queued_iterator &) const |
bool | operator!= (const breadth_first_queued_iterator &) const |
breadth_first_queued_iterator & | operator++ () |
breadth_first_queued_iterator | operator++ (int) |
breadth_first_queued_iterator & | operator+= (unsigned int) |
Private Attributes | |
std::queue< tree_node * > | traversal_queue |
tree< T, tree_node_allocator >::breadth_first_queued_iterator::breadth_first_queued_iterator | ( | ) | [inline] |
tree< T, tree_node_allocator >::breadth_first_queued_iterator::breadth_first_queued_iterator | ( | tree_node * | tn | ) | [inline] |
Definition at line 2153 of file tree.h.
References tree< T, tree_node_allocator >::breadth_first_queued_iterator::traversal_queue.
02154 : iterator_base(tn) 02155 { 02156 traversal_queue.push(tn); 02157 }
tree< T, tree_node_allocator >::breadth_first_queued_iterator::breadth_first_queued_iterator | ( | const iterator_base & | other | ) | [inline] |
Definition at line 2160 of file tree.h.
References tree< T, tree_node_allocator >::breadth_first_queued_iterator::traversal_queue.
02161 : iterator_base(other.node) 02162 { 02163 traversal_queue.push(other.node); 02164 }
bool tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator== | ( | const breadth_first_queued_iterator & | other | ) | const [inline] |
Definition at line 2174 of file tree.h.
References tree< T, tree_node_allocator >::iterator_base::node.
bool tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator!= | ( | const breadth_first_queued_iterator & | other | ) | const [inline] |
Definition at line 2167 of file tree.h.
References tree< T, tree_node_allocator >::iterator_base::node.
tree< T, tree_node_allocator >::breadth_first_queued_iterator & tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator++ | ( | ) | [inline] |
Definition at line 2181 of file tree.h.
References tree< T, tree_node_allocator >::iterator_base::begin(), tree< T, tree_node_allocator >::iterator_base::end(), tree< T, tree_node_allocator >::iterator_base::node, and tree< T, tree_node_allocator >::breadth_first_queued_iterator::traversal_queue.
02182 { 02183 assert(this->node!=0); 02184 02185 // Add child nodes and pop current node 02186 sibling_iterator sib=this->begin(); 02187 while(sib!=this->end()) { 02188 traversal_queue.push(sib.node); 02189 ++sib; 02190 } 02191 traversal_queue.pop(); 02192 if(traversal_queue.size()>0) 02193 this->node=traversal_queue.front(); 02194 else 02195 this->node=0; 02196 return (*this); 02197 }
tree< T, tree_node_allocator >::breadth_first_queued_iterator tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator++ | ( | int | n | ) | [inline] |
Definition at line 2200 of file tree.h.
02201 { 02202 breadth_first_queued_iterator copy = *this; 02203 ++(*this); 02204 return copy; 02205 }
tree< T, tree_node_allocator >::breadth_first_queued_iterator & tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator+= | ( | unsigned int | num | ) | [inline] |
std::queue<tree_node *> tree< T, tree_node_allocator >::breadth_first_queued_iterator::traversal_queue [private] |
Definition at line 213 of file tree.h.
Referenced by tree< T, tree_node_allocator >::breadth_first_queued_iterator::breadth_first_queued_iterator(), and tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator++().