| | | | | |

Parent Implementation

template <typename T>
class BinaryTree
{
    class Node
    {
      T        value_;
      Node   * parent_,
             * lchild_,
             * rchild_;
      Node (const T& t); // constructor (parameter required)
      friend class BinaryTree          <T>
      friend class BinaryTreeNavigator <T>
    } ; // class Node

  protected:
    Node * root_;         // protected Node pointer data

  public:
    typedef T                              ValueType;
    typedef BinaryTreeNavigator       <T>  Navigator;
    typedef BinaryTreeInorderIterator <T>  Iterator;
    // ... other iterator types as needed
} ; // class BinaryTree

| | Top of Page | 14. BST Iterators - 12 of 41