Queues are declared as an "abstract" class. They are currently
implemented in any of three ways.

VQueue

implement fixed sized Queues via arrays.

XPQueue

implement dynamically-sized Queues via XPlexes.

SLQueue

implement dynamically-size Queues via linked lists.

All possess the same capabilities; they differ only in constructors.
VQueue constructors require a fixed maximum capacity argument.
XPQueue constructors optionally take a chunk size argument.
SLQueue constructors take no argument.

Assume the declaration of a base element x.

Queue q; or Queue q(int capacity);

declares a queue.

q.empty()

returns true if queue q is empty.

q.full()

returns true if queue q is full. XPQueues and SLQueues are never full.