//
// genq3.h - generic queue using void *
// elements and an iteration function
//
#include <iostream.h>
class genq
{
public:
genq();
~genq();
void append(void *e);
void apply(void f(void *p));
void clear();
int remove(void *&e);
private:
struct cell
{
cell(void *e, cell *p);
cell *next;
void *element;
};
cell *first, *last;
};
inline genq::cell::cell(void *e, cell *p)
: element(e), next(p)
{
}
inline genq::genq() : first(0), last(0)
{
}
inline genq::~genq()
{
clear();
}
// End of File