lasd/librerie/exercise2/queue/lst/queuelst.cpp

74 lines
1.6 KiB
C++
Raw Normal View History

2021-04-10 13:34:50 +02:00
namespace lasd {
2021-04-14 08:42:18 +02:00
template <typename Data>
2021-04-20 18:16:51 +02:00
QueueLst<Data>::QueueLst(const LinearContainer<Data>& linear)
: List<Data>(linear) {}
2021-04-14 08:42:18 +02:00
template <typename Data>
2021-04-20 18:16:51 +02:00
QueueLst<Data>::QueueLst(const QueueLst& copyFrom)
: List<Data>(copyFrom) {}
2021-04-14 08:42:18 +02:00
template <typename Data>
2021-04-20 18:16:51 +02:00
QueueLst<Data>::QueueLst(QueueLst&& moveFrom) noexcept
: List<Data>(std::move(moveFrom)) {}
2021-04-14 08:42:18 +02:00
2021-04-19 12:32:33 +02:00
template <typename Data>
QueueLst<Data>::~QueueLst(){
2021-04-14 08:42:18 +02:00
Clear();
}
template <typename Data>
2021-04-19 12:32:33 +02:00
QueueLst<Data>& QueueLst<Data>::operator=(const QueueLst& toCopy){
List<Data>::operator=(toCopy);
2021-04-14 08:42:18 +02:00
return *this;
}
2021-04-10 13:34:50 +02:00
2021-04-19 12:32:33 +02:00
template <typename Data>
QueueLst<Data>& QueueLst<Data>::operator=(QueueLst&& toMove) noexcept{
List<Data>::operator=(std::move(toMove));
return *this;
}
2021-04-14 08:42:18 +02:00
2021-04-19 12:32:33 +02:00
template <typename Data>
bool QueueLst<Data>::operator==(const QueueLst& queuelist) const noexcept{
2021-04-14 08:42:18 +02:00
return List<Data>::operator==(queuelist);
}
2021-04-19 12:32:33 +02:00
template <typename Data>
bool QueueLst<Data>::operator!=(const QueueLst& queuelist) const noexcept{
2021-04-14 08:42:18 +02:00
return List<Data>::operator!=(queuelist);
}
template <typename Data>
2021-04-19 12:32:33 +02:00
void QueueLst<Data>::Enqueue(const Data& data){
2021-04-14 08:42:18 +02:00
List<Data>::InsertAtBack(data);
}
template <typename Data>
2021-04-19 12:32:33 +02:00
void QueueLst<Data>::Enqueue(Data&& data){
2021-04-20 18:16:51 +02:00
List<Data>::InsertAtBack(std::move(data));
2021-04-14 08:42:18 +02:00
}
template <typename Data>
2021-04-19 12:32:33 +02:00
Data& QueueLst<Data>::Head() const{
2021-04-14 08:42:18 +02:00
return List<Data>::Front();
2021-04-19 12:32:33 +02:00
}
2021-04-14 08:42:18 +02:00
template <typename Data>
2021-04-19 12:32:33 +02:00
void QueueLst<Data>::Dequeue(){
2021-04-14 08:42:18 +02:00
List<Data>::RemoveFromFront();
}
2021-04-19 12:32:33 +02:00
2021-04-14 08:42:18 +02:00
template <typename Data>
2021-04-19 12:32:33 +02:00
Data QueueLst<Data>::HeadNDequeue(){
2021-04-14 08:42:18 +02:00
return List<Data>::FrontNRemove();
}
2021-04-10 13:34:50 +02:00
2021-04-19 12:32:33 +02:00
template <typename Data>
void QueueLst<Data>::Clear(){
List<Data>::Clear();
}
2021-04-10 13:34:50 +02:00
}