#ifndef TOOLS_STACK_H
#define TOOLS_STACK_H

#include "tools.h"
#include "clist.h"

template <class T>
class cQueue: protected cTBList<T> {
public:
	cQueue(void);
	virtual ~cQueue(void);

	void enqueue(const T &obj) { cTBList<T>::prepend() = obj; }
	T dequeue(void) { return cTBList<T>::takeLast(); }
};

template<class T>
cQueue<T>::cQueue(void):
		cTBList<T>() {
}

template<class T>
cQueue<T>::~cQueue() {
}

#endif // TOOLS_STACK_H
