OpenADFortTk (including Open64 and OpenAnalysis references)
|
#include <Tree.hpp>
Public Member Functions | |
PreOrderIterator (Tree &t) | |
virtual | ~PreOrderIterator () |
void | operator++ () |
void | operator++ (int) |
bool | isValid () const |
OA_ptr< Node > | current () const |
Public Member Functions inherited from OA::Iterator | |
Iterator () | |
virtual | ~Iterator () |
void | operator++ (int) |
Private Attributes | |
OA_ptr< Node > | p |
Pre-order iterator enumerates the nodes in pre-order (a node is visited before all its sub-trees).
OA::Tree::PreOrderIterator::PreOrderIterator | ( | Tree & | t) |
PreOrderIterator creates an iterator to enumerate the tree nodes in pre-order. If this is the first time a pre-order traversal has been demanded for this tree, or the tree has changed since the last pre-order traversal, a pre-order walk is carried out using the recursive method create_preorder_links. This links up the nodes in pre-order and subsequent pre-order traversals simply follow the links.
Definition at line 73 of file Tree.cpp.
References OA::Tree::create_preorder_links(), OA::n, OA::Tree::Node::next_preorder, OA::Tree::node_set, OA::Tree::preorder_needed, OA::OA_ptr< T >::ptrEqual(), and OA::Tree::root_node.
|
inlinevirtual |
Reimplemented in OA::ExprTree::PreOrderIterator, OA::ExprTree::PreOrderIterator, and OA::NewExprTree::PreOrderIterator.
|
inlinevirtual |
Implements OA::Iterator.
Definition at line 402 of file Tree.hpp.
References p, and OA::OA_ptr< T >::ptrEqual().
Referenced by DumpExprTree().
|
inlinevirtual |
Implements OA::Iterator.
Definition at line 400 of file Tree.hpp.
References p, and OA::OA_ptr< T >::ptrEqual().
Definition at line 406 of file Tree.hpp.
Referenced by current(), isValid(), and operator++().