|
| | BSLMF_NESTED_TRAIT_DECLARATION_IF (queue, BloombergLP::bslma::UsesBslmaAllocator, BloombergLP::bslma::UsesBslmaAllocator< container_type >::value) |
| |
| | queue () |
| |
| | queue (const queue &original) |
| | Create a queue having the value of the specified original.
|
| |
| | queue (BloombergLP::bslmf::MovableRef< queue > container) |
| |
| | queue (const CONTAINER &container) |
| |
| | queue (BloombergLP::bslmf::MovableRef< CONTAINER > container) |
| |
| template<class ALLOCATOR > |
| | queue (const ALLOCATOR &basicAllocator, typename enable_if< bsl::uses_allocator< CONTAINER, ALLOCATOR >::value, ALLOCATOR >::type *=0) |
| |
| template<class ALLOCATOR > |
| | queue (const CONTAINER &container, const ALLOCATOR &basicAllocator, typename enable_if< bsl::uses_allocator< CONTAINER, ALLOCATOR >::value, ALLOCATOR >::type *=0) |
| |
| template<class ALLOCATOR > |
| | queue (const queue &original, const ALLOCATOR &basicAllocator, typename enable_if< bsl::uses_allocator< CONTAINER, ALLOCATOR >::value, ALLOCATOR >::type *=0) |
| |
| template<class ALLOCATOR > |
| | queue (BloombergLP::bslmf::MovableRef< CONTAINER > container, const ALLOCATOR &basicAllocator, typename enable_if< bsl::uses_allocator< CONTAINER, ALLOCATOR >::value, ALLOCATOR >::type *=0) |
| |
| template<class ALLOCATOR > |
| | queue (BloombergLP::bslmf::MovableRef< queue > original, const ALLOCATOR &basicAllocator, typename enable_if< bsl::uses_allocator< CONTAINER, ALLOCATOR >::value, ALLOCATOR >::type *=0) |
| |
| queue & | operator= (const queue &rhs) |
| |
| queue & | operator= (BloombergLP::bslmf::MovableRef< queue > rhs) |
| |
| template<class... Args> |
| reference | emplace (Args &&... args) |
| |
| void | push (const value_type &value) |
| |
| void | push (BloombergLP::bslmf::MovableRef< value_type > value) |
| |
| void | pop () |
| |
| reference | back () |
| |
| bool | empty () const |
| |
| size_type | size () const |
| |
| const_reference | front () const |
| |
| const_reference | back () const |
| |
|
| template<class VALUE2 , class CONTAINER2 > |
| bool | operator== (const queue< VALUE2, CONTAINER2 > &, const queue< VALUE2, CONTAINER2 > &) |
| |
| template<class VALUE2 , class CONTAINER2 > |
| bool | operator!= (const queue< VALUE2, CONTAINER2 > &, const queue< VALUE2, CONTAINER2 > &) |
| |
| template<class VALUE2 , class CONTAINER2 > |
| bool | operator< (const queue< VALUE2, CONTAINER2 > &, const queue< VALUE2, CONTAINER2 > &) |
| |
| template<class VALUE2 , class CONTAINER2 > |
| bool | operator> (const queue< VALUE2, CONTAINER2 > &, const queue< VALUE2, CONTAINER2 > &) |
| |
| template<class VALUE2 , class CONTAINER2 > |
| bool | operator<= (const queue< VALUE2, CONTAINER2 > &, const queue< VALUE2, CONTAINER2 > &) |
| |
| template<class VALUE2 , class CONTAINER2 > |
| bool | operator>= (const queue< VALUE2, CONTAINER2 > &, const queue< VALUE2, CONTAINER2 > &) |
| |
template<class VALUE, class CONTAINER = deque<VALUE>>
class bsl::queue< VALUE, CONTAINER >
This class is a value-semantic class template, having a container of the parameterized CONTAINER type that holds elements of the parameterized VALUE type, to provide a first-in-first-out queue data structure. The container object held by a queue class object is referenced as c in the following function-level documentation.
See bslstl_queue
template<class VALUE , class CONTAINER >
template<class ALLOCATOR >
Create an empty queue. This queue object uses the specified basicAllocator to supply memory. Note that the ALLOCATOR parameter type has to be convertible to the allocator of the CONTAINER parameter type, CONTAINER::allocator_type; otherwise, this constructor is disabled.
template<class VALUE , class CONTAINER >
template<class ALLOCATOR >
| bsl::queue< VALUE, CONTAINER >::queue |
( |
const CONTAINER & |
container, |
|
|
const ALLOCATOR & |
basicAllocator, |
|
|
typename enable_if< bsl::uses_allocator< CONTAINER, ALLOCATOR >::value, ALLOCATOR >::type * |
= 0 |
|
) |
| |
|
inline |
Create a queue having the same sequence of values as the specified container. The queue object uses the specified basicAllocator to obtain memory. Note that the ALLOCATOR parameter type has to be convertible to the allocator of the CONTAINER parameter type, CONTAINER::allocator_type; otherwise, this constructor is disabled.
template<class VALUE , class CONTAINER >
template<class ALLOCATOR >
| bsl::queue< VALUE, CONTAINER >::queue |
( |
const queue< VALUE, CONTAINER > & |
original, |
|
|
const ALLOCATOR & |
basicAllocator, |
|
|
typename enable_if< bsl::uses_allocator< CONTAINER, ALLOCATOR >::value, ALLOCATOR >::type * |
= 0 |
|
) |
| |
|
inline |
Create a queue having the value of the specified original that will use the specified basicAllocator to supply memory. Note that the ALLOCATOR parameter type has to be convertible to the allocator of the CONTAINER parameter type, CONTAINER::allocator_type. Otherwise this constructor is disabled.
template<class VALUE , class CONTAINER >
template<class ALLOCATOR >
| bsl::queue< VALUE, CONTAINER >::queue |
( |
BloombergLP::bslmf::MovableRef< queue< VALUE, CONTAINER > > |
original, |
|
|
const ALLOCATOR & |
basicAllocator, |
|
|
typename enable_if< bsl::uses_allocator< CONTAINER, ALLOCATOR >::value, ALLOCATOR >::type * |
= 0 |
|
) |
| |
|
inline |
Create a queue having the value of the specified original (on entry), that uses basicAllocator to supply memory. The allocator-extended move constructor of CONTAINER is used to create the new queue. original is left in a valid but unspecified state. Note that a bslma::Allocator * can be supplied for basicAllocator if the (template parameter) ALLOCATOR is bsl::allocator (the default). Also note that this method assumes that CONTAINER has a move constructor. Also note that if CONTAINER::allocator_type does not exist, this constructor is disabled.