1//Queue is a data structure designed to operate in FIFO(First in First out) context.
2//In queue elements are inserted from rear end and get removed from front end.
3 The functions supported by queue:
4 ---------------------------------
5 empty() | Tests whether queue is empty or not.
6 size() | Returns the total number of elements present in the queue.
7 push() | Inserts new element at the end of queue.
8 emplace() | Constructs and inserts new element at the end of queue.
9 pop() | Removes front element of the queue.
10 swap() | Exchanges the contents of queue with contents of another queue.
11 front() | Returns a reference to the first element of the queue.
12 back() | Returns a reference to the last element of queue.