5template <
typename T>
class Queue {
17 void Push(
const T& val);
50 unsigned int Size()
const;
56 Node* forward =
nullptr;
57 Node* backward =
nullptr;
60 Node* front =
nullptr;
62 Node* iterator =
nullptr;
63 unsigned int count = 0;
69 front = node->backward;
75 Node* node =
new Node();
81 back->backward = node;
89 return front ? &front->val :
nullptr;
93 return back ? &back->val :
nullptr;
99 front = node->backward;
101 front->forward =
nullptr;
110 return front ==
nullptr;
117 iterator = iterator->backward;
118 return iterator ? &iterator->val :
nullptr;
Queue container class.
Definition: Queue.hpp:5
T * Front()
Get value at front of queue.
Definition: Queue.hpp:88
unsigned int Size() const
Get the number of elements in queue.
Definition: Queue.hpp:121
void Pop()
Remove value at front of queue.
Definition: Queue.hpp:96
T * Back()
Get value at back of queue.
Definition: Queue.hpp:92
Queue()=default
Constructor.
void Push(const T &val)
Push value at back of queue.
Definition: Queue.hpp:74
bool Empty() const
Check if queue is empty.
Definition: Queue.hpp:109
~Queue()
Destrcutor.
Definition: Queue.hpp:66
T * Iterate()
Iterate over all values in queue.
Definition: Queue.hpp:113
Definition: ResourceView.hpp:12