##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::queue

From cppreference.com
< cpp‎ | container

Defined in header `<queue>` |  |
template< class T, class Container = std::deque<T> > class queue; |  |

The `std::queue` class is a container adapter 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.

### [edit] Template parameters

T | - | The type of the stored elements. The behavior is undefined if `T` is not the same type as `Container::value_type`. (since C++17)
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()` The standard containers std::deque and std::list satisfy these requirements.

### [edit] Member types

Member type | Definition
`container_type` | `Container` [edit]
`value_type` | `Container::value_type` [edit]
`size_type` | `Container::size_type` [edit]
`reference` | `Container::reference` [edit]
`const_reference` | `Container::const_reference` [edit]

### [edit] Member functions

(constructor) | constructs the `queue` (public member function) [edit]
(destructor) | destructs the `queue` (public member function) [edit]
operator= | assigns values to the container adaptor (public member function) [edit]
##### Element access
front | access the first element (public member function) [edit]
back | access the last element (public member function) [edit]
##### Capacity
empty | checks whether the underlying container is empty (public member function) [edit]
size | returns the number of elements (public member function) [edit]
##### Modifiers
push | inserts element at the end (public member function) [edit]
emplace (C++11) | constructs element in-place at the end (public member function) [edit]
pop | removes the first element (public member function) [edit]
swap | swaps the contents (public member function) [edit]
### Member objects
Container c | the underlying container (protected member object) [edit]

### [edit] Non-member functions

operator==operator!=operator<operator<=operator>operator>= | lexicographically compares the values in the queue (function template) [edit]
std::swap(std::queue) | specializes the std::swap algorithm (function template) [edit]

### [edit] Helper classes

std::uses_allocator<std::queue> (C++11) | specializes the std::uses_allocator type trait (function template) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/container/queue&oldid=90489"