Construction, destruction, copying¶
Empty container constructors¶
concurrent_bounded_queue(); explicit concurrent_bounded_queue( const allocator_type& alloc );Constructs an empty
concurrent_bounded_queue
with an unbounded capacity. If provided, uses the allocatoralloc
to 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_queue
with an unbounded capacity and containing all elements from the half-open interval[first, last)
using the allocatoralloc
to allocate the memory.Requirements: the type
InputIterator
must meet the InputIterator requirements from the[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_queue
with the content ofother
using move semantics.
other
is 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
.