5 #ifndef BPP_PHYL_LEGACY_TREEITERATOR_H
6 #define BPP_PHYL_LEGACY_TREEITERATOR_H
49 currNode_(tree.getRootNode()),
52 nodeToLastVisitedSonIndex_()
56 tree_(tree_iterator.tree_),
57 currNode_(tree_.getRootNode()),
60 nodeToLastVisitedSonIndex_()
84 currNode_ = tree_.getNodes()[0];
89 const Node* getLeftMostPredecessor(
const Node* startNode);
101 currNode_ = tree_.getRootNode();
117 currNode_ = tree_.getNodes()[0];
122 const Node* doStep(
const Node* node);
InOrderTreeIterator(const TreeTemplate< Node > &tree)
The phylogenetic node class.
PostOrderTreeIterator(const TreeTemplate< Node > &tree)
PreOrderTreeIterator(const TreeTemplate< Node > &tree)
const TreeTemplate< Node > & tree_
map< int, bool > nodeToVisited_
virtual const Node * next()=0
map< int, size_t > nodeToLastVisitedSonIndex_
TreeIterator(const TreeIterator &tree_iterator)
TreeIterator & operator=(const TreeIterator &tree_iterator)
TreeIterator(const TreeTemplate< Node > &tree)
map< int, bool > nodeToSonVisited_
The phylogenetic tree class.
Defines the basic types of data flow nodes.