Construction, destruction, copying¶
Empty container constructors¶
concurrent_bounded_queue(); explicit concurrent_bounded_queue( const allocator_type& alloc );Constructs empty
concurrent_bounded_queuewith an unbounded capacity. If provided uses the allocatorallocto allocate the memory.
Constructor from the sequence of elements¶
template <typename InputIterator> concurrent_bounded_queue( InputIterator first, InputIterator last, const allocator_type& alloc = allocator_type() );Constructs a
concurrent_bounded_queuewith an unbounded capacity and containing all elements from the half-open interval[first, last)using the allocatorallocto allocate the memory.Requirements: the type
InputIteratorshall meet the InputIterator requirements from[input.iterators]ISO C++ Standard section.
Copying constructors¶
concurrent_bounded_queue( const concurrent_bounded_queue& other ); concurrent_bounded_queue( const concurrent_bounded_queue& other, const allocator_type& alloc );Constructs a copy of
other.If the allocator argument is not provided, it is obtained by
std::allocator_traits<allocator_type>::select_on_container_copy_construction(other.get_allocator()).The behavior is undefined in case of concurrent operations with
other.
Moving constructors¶
concurrent_bounded_queue( concurrent_bounded_queue&& other ); concurrent_bounded_queue( concurrent_bounded_queue&& other, const allocator_type& alloc );Constructs a
concurrent_bounded_queuewith the content ofotherusing move semantics.
otheris left in a valid, but unspecified state.If the allocator argument is not provided, it is obtained by
std::move(other.get_allocator()).The behavior is undefined in case of concurrent operations with
other.
Destructor¶
~concurrent_bounded_queue();Destroys the
concurrent_bounded_queue. Calls destructors of the stored elements and deallocates the used storage.The behavior is undefined in case of concurrent operations with
*this.