std::queue::queue
From cppreference.com
                    
                                        
                    
                    
                                                            
                    
| (1) | ||
| explicit queue( const Container& cont = Container() ); | (until C++11) | |
| explicit queue( const Container& cont ); | (since C++11) | |
| explicit queue( Container&& cont = Container() ); | (2) | (since C++11) | 
| queue( const queue& other ); | (3) | |
| queue( queue&& other ); | (4) | (since C++11) | 
| template< class Alloc >  explicit queue( const Alloc& alloc ); | (5) | (since C++11) | 
| template< class Alloc >  queue( const Container& cont, const Alloc& alloc ); | (6) | (since C++11) | 
| template< class Alloc >  queue( Container&& cont, const Alloc& alloc ); | (7) | (since C++11) | 
| template< class Alloc >  queue( const queue& other, const Alloc& alloc ); | (8) | (since C++11) | 
| template< class Alloc >  queue( queue&& other, const Alloc& alloc ); | (9) | (since C++11) | 
Constructs new underlying container of the container adaptor from a variety of data sources.
1) Copy-constructs the underlying container 
c with the contents of cont. This is also the default constructor (until C++11)
2) Move-constructs the underlying container 
c with std::move(cont). This is also the default constructor (since C++11)
3) Copy constructor. The adaptor is copy-constructed with the contents of other.c. (implicitly declared)
5-9) The following constructors are only defined if std::uses_allocator<container_type, Alloc>::value == true, that is, if the underlying container is an allocator-aware container (true for all standard library containers).
5) Constructs the underlying container using 
alloc as allocator. Effectively calls c(alloc).
6) Constructs the underlying container with the contents of 
cont and using alloc as allocator. Effectively calls c(cont, alloc).
7) Constructs the underlying container with the contents of 
cont using move semantics while utilising alloc as allocator. Effectively calls c(std::move(cont), alloc).
8) Constructs the adaptor with the contents of 
other.c and using alloc as allocator. Effectively calls c(athor.c, alloc).
9) Constructs the adaptor with the contents of 
other using move semantics while utilising alloc as allocator. Effectively calls c(std::move(other.c), alloc).| Contents | 
[edit] Parameters
| alloc | - | allocator to use for all memory allocations of the underlying container | 
| other | - | another container adaptor to be used as source to initialize the underlying container | 
| cont | - | container to be used as source to initialize the underlying container | 
| first, last | - | range of elements to initialize with | 
| Type requirements | ||
| - Allocmust meet the requirements ofAllocator. | ||
| - Containermust meet the requirements ofContainer. The constructors (5-10) are only defined ifContainermeets the requirements ofAllocatorAwareContainer | ||
| - InputItmust meet the requirements ofInputIterator. | ||
[edit] Complexity
1, 3, 5, 6, 8: linear in cont or other
2, 4, 7, 9: constant
| This section is incomplete | 
[edit] Example
Run this code
#include <queue> #include <deque> #include <iostream> int main() { std::queue<int> c1; c1.push(5); std::cout << c1.size() << '\n'; std::queue<int> c2(c1); std::cout << c2.size() << '\n'; std::deque<int> deq {3, 1, 4, 1, 5}; std::queue<int> c3(deq); std::cout << c3.size() << '\n'; }
Output:
1 1 5
[edit] See also
| assigns values to the container adaptor (public member function) |