/***********************************************************************/
/* file slset.h */
/* contains the class definition of class slset. */
/***********************************************************************/
#ifndef SLSET_H
#define SLSET_H
#include "base_slist.h"
#include "stack.h"
/***********************************************************************/
/* class definition of class slset. slset is a set implemented as a */
/* singli linked (sl) list */
/***********************************************************************/
template <class type>
class slset: public base_slist<type>
{
public:
slset() { } // constructor
slset(const slset<type>&) { } // copy constructor
const slset<type>& operator= // copy operator
(const slset<type>&);
~slset() { } // destructor
virtual slist_item<type> *add(const type&); // prepends
virtual int card(); // returns size of slset
slset<type>& operator|=(const slset<type>&); // unification
slset<type>& operator&=(const slset<type>&); // intersection
slset<type>& operator-=(const slset<type>&); // substraction
int operator==(const slset<type>&); // test equality of elements
};
#include "slset.cc" // because of templates
#endif