STD Queue
STD Queue
The std::queue class is a container adaptor that gives the programmer the functionality of a queue -
specifically, a FIFO (first-in, first-out) data structure.
The class template acts as a wrapper to the underlying container - only a specific set of functions is provided.
The queue pushes the elements on the back of the underlying container and pops them from the front.
Template parameters
T - The type of the stored elements. The behavior is undefined if T is not the same type as
Container::value_type.
Container - The type of the underlying container to use to store the elements. The container must satisfy
the requirements of SequenceContainer. Additionally, it must provide the following functions
with the usual semantics:
back()
front()
push_back()
pop_front()
Member types
Member functions
Element access
Capacity
Modifiers
Member objects
Non-member functions
operator==
operator!=
operator<
lexicographically compares the values in the queue
operator<=
(function template)
operator>
operator>=
operator<=> (C++20)
specializes the std::swap algorithm
std::swap(std::queue) (C++11)
(function template)
Helper classes
(since C++17)
Deduction guides
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++
standards.
1. ↑ Such as containers similar to std::vector<bool> with additional support of pop_front(). The resolution of this
DR added support of std::vector<bool> for std::stack and std::priority_queue. The changes involving
std::queue are for maintaining consistency.
See also
double-ended queue
deque
(class template)
doubly-linked list
list (class template)