libstdc++
|
Public Member Functions | |
queue (const _Sequence &__c) | |
Public Attributes | |
__pad0__: c(std::move(__c)) { } template<typename _Alloc | |
Protected Attributes | |
_Sequence | c |
Friends | |
template<typename _Tp1 , typename _Seq1 > | |
bool | operator< (const queue< _Tp1, _Seq1 > &, const queue< _Tp1, _Seq1 > &) |
template<typename _Tp1 , typename _Seq1 > | |
bool | operator== (const queue< _Tp1, _Seq1 > &, const queue< _Tp1, _Seq1 > &) |
A standard container giving FIFO behavior.
_Tp | Type of element. |
_Sequence | Type of underlying sequence, defaults to deque<_Tp>. |
Meets many of the requirements of a container, but does not define anything to do with iterators. Very few of the other standard container interfaces are defined.
This is not a true container, but an adaptor. It holds another container, and provides a wrapper interface to that container. The wrapper is what enforces strict first-in-first-out queue behavior.
The second template parameter defines the type of the underlying sequence/container. It defaults to std::deque, but it can be any type that supports front
, back
, push_back
, and pop_front
, such as std::list or an appropriate user-defined type.
Members not found in normal containers are container_type
, which is a typedef for the second Sequence parameter, and push
and pop
, which are standard queue/FIFO operations.
Definition at line 96 of file stl_queue.h.
|
inlineexplicit |
Default constructor creates no elements.
Definition at line 147 of file stl_queue.h.
|
protected |
'c' is the underlying container. Maintainers wondering why this isn't uglified as per style guidelines should note that this name is specified in the standard, [23.2.3.1]. (Why? Presumably for the same reason that it's protected instead of private: to allow derivation. But none of the other containers allow for derivation. Odd.)
Definition at line 135 of file stl_queue.h.
Referenced by std::operator==().