/*********************************************************************
file label_dlist.h
contains the class definition of class label_dlist
*********************************************************************/
#ifndef LABEL_DLIST_H
#define LABEL_DLIST_H
#include <assert.h>
#include "base_label_dlist.h"
/*********************************************************************
class definition of class label_dlist. label_dlist is a singly linked
list.
*********************************************************************/
template <class type>
class label_dlist: public base_label_dlist<type>
{
friend class label_dlist_iterator<type>; // label_dlist_iterator may access
// private data fields
public:
label_dlist() { } // constructor
virtual ~label_dlist() { } // destructor (empty)
virtual label_dlist_item<type> *first(); // returns first node
virtual label_dlist_item<type> *last(); // returns last node
virtual int find_left(int, label_dlist_item<type> *&);
};
#include "label_dlist.cc" // because of templates
#endif