Implementation of a queue data structure, i.e. a list
implementation with FIFO principle. queue uses a std::deque
as default container, so inserting, peeking and popping functions require
constant O(1). See '>stack for a class using
the LIFO principle.