A queue data structure to which elements of any data type can be pushed and popped from in a first in first out basis.