/***********************************************************************/
/* file cnt_bst_iter.h */
/* contains the class definition of class cnt_bst_iter. */
/* */
/* warning: this class is only a auxiliary class for class cnt_bst. */
/* NEVER USE THIS CLASS BY ITSELF. */
/* exception: use with another data structure, then make sure that */
/* cnt_bst_iter.cc is also included. */
/***********************************************************************/
#ifndef CNT_BST_ITERATOR_H
#define CNT_BST_ITERATOR_H
#include <assert.h>
#include "cnt_bst.h"
/***********************************************************************/
/* class definition of class bst_iter. bst_ite is an iterator for bst's*/
/***********************************************************************/
template <class type>
class cnt_bst_iterator: public bst_iterator<type>
{
public:
cnt_bst_iterator(const cnt_bst<type> *tree): // constructor
bst_iterator<type>(tree) { }
cnt_bst_iterator // copy constructor
(const cnt_bst_iterator<type>& c_i):
bst_iterator<type>(c_i) { }
const cnt_bst_iterator<type>& operator=
(const cnt_bst_iterator<type>& c_i); // copy operator
~cnt_bst_iterator() { } // destructor
cnt_bst_item<type> *current(); // return current node
int c_count(); // return current count
};
#endif