/***********************************************************************/
/* file cnt_bst_iter.cc */
/* contains the implementation of class members of class */
/* cnt_bst_iter. */
/***********************************************************************/
#include "cnt_bst_iter.h"
/***********************************************************************/
/* implementation of class cnt_bst_iter */
/***********************************************************************/
/***********************************************************************/
/* public member operator= */
/* copies all data members of the passed cnt_bst_iterator */
/***********************************************************************/
template <class type>
const cnt_bst_iterator<type>& cnt_bst_iterator<type>::operator=
(const cnt_bst_iterator<type>& c_iter)
{
this->c= c_iter.c;
this->stk= c_iter.stk;
this->cursor= c_iter.cursor;
return *this;
}
/***********************************************************************/
/* public member function current */
/* takes no argument and returns a pointer to the current item in the */
/* cnt_bst. */
/***********************************************************************/
template <class type>
cnt_bst_item<type> *cnt_bst_iterator<type>::current()
{
return (cnt_bst_item<type> *) this->cursor;
}
/***********************************************************************/
/* public member function c_count */
/* takes no argument and returns the count of the current item in the */
/* cnt_bst. */
/***********************************************************************/
template <class type>
int cnt_bst_iterator<type>::c_count()
{
assert(this->cursor != NULL);
cnt_bst_item<type> *curs= (cnt_bst_item<type> *) this->cursor;
return curs->count;
}