// queue.h -- interface for a queue #ifndef SAbstractQueue_H_ #define SAbstractQueue_H_ #include "mm.h" #include "pcsem.h" template class SAbstractQueue { public: SAbstractQueue() {} virtual unsigned int size() const = 0; virtual bool add(const T &item) = 0;// add item to end virtual bool add_nowait(const T &item) = 0; virtual bool add_timeout(const T &item, struct timespec *timeout) = 0; virtual bool remove(T &item) = 0; virtual bool remove_nowait(T &item) = 0; virtual bool remove_timeout(T &item, struct timespec * timeout) = 0; virtual T& operator[](unsigned i) = 0; virtual ~SAbstractQueue() {} }; #endif