#ifndef QUEUE_CPP
#define QUEUE_CPP
#include "EmptyStructure.cpp"
#include "Queue.h"
using namespace std;

template <typename E>
Queue<E>::Queue(){}

template <typename E>
int Queue<E>::size(){
	return list<E>::size();
	}

template <typename E>
bool Queue<E>::empty(){
	return list<E>::empty();
	}

template <typename E>
const Queue<E>::E& front() const{
	return list<E>::front();
	}

template <typename E>
void Queue<E>::dequeue(){
	if (empty())
		throw EmptyStructure();
	list<E>::pop_front();
	}

template <typename E>
void Queue<E>::enqueue(const E& e){
	list<E>::push_back(e);
	}

#endif
