BasicInlineAsyncDeque
adds async PendHasSpace
and PendNotEmpty
methods to BasicInlineDeque
.
BasicInlineAsyncDeque
allows specifying the size_type
. Larger size_type
s allow for larger queues, but they slightly increase the object's size. Users should typically reach for pw::InlineAsyncDeque
, which uses a size_type
of uint16_t
.
BasicInlineAsyncDeque
is NOT thread safe. External synchronization is required to share a BasicInlineAsyncDeque
between threads. Public Member Functions | |
constexpr | BasicInlineAsyncDeque () noexcept=default |
Constructs with zero elements. | |
BasicInlineAsyncDeque (size_type count, const_reference value) | |
Constructs with count copies of value . | |
BasicInlineAsyncDeque (size_type count) | |
Constructs with count default-initialized elements. | |
template<typename InputIterator , typename = containers::internal::EnableIfInputIterator<InputIterator>> | |
BasicInlineAsyncDeque (InputIterator start, InputIterator finish) | |
Copy constructs from an iterator. | |
BasicInlineAsyncDeque (const BasicInlineAsyncDeque &other) | |
Copy constructs for matching capacity. | |
template<size_t kOtherCapacity> | |
BasicInlineAsyncDeque (const BasicInlineAsyncDeque< ValueType, SizeType, kOtherCapacity > &other) | |
BasicInlineAsyncDeque (BasicInlineAsyncDeque &&other) noexcept | |
Move constructs for matching capacity. | |
template<size_t kOtherCapacity> | |
BasicInlineAsyncDeque (BasicInlineAsyncDeque< ValueType, SizeType, kOtherCapacity > &&other) noexcept | |
Move constructs for mismatched capacity. | |
BasicInlineAsyncDeque (const std::initializer_list< value_type > &list) | |
Copy constructs from an initializer list. | |
template<typename T , typename = containers::internal::EnableIfIterable<T>> | |
BasicInlineAsyncDeque (const T &other) | |
Copy constructor for arbitrary iterables. | |
BasicInlineAsyncDeque & | operator= (const std::initializer_list< value_type > &list) |
Copy assigns from list . | |
BasicInlineAsyncDeque & | operator= (const BasicInlineAsyncDeque &other) |
Copy assigns for matching capacity. | |
template<size_t kOtherCapacity> | |
BasicInlineAsyncDeque & | operator= (const BasicInlineAsyncDeque< ValueType, SizeType, kOtherCapacity > &other) |
BasicInlineAsyncDeque & | operator= (BasicInlineAsyncDeque &&other) noexcept |
Move assigns for matching capacity. | |
template<size_t kOtherCapacity> | |
BasicInlineAsyncDeque & | operator= (BasicInlineAsyncDeque< ValueType, SizeType, kOtherCapacity > &&other) noexcept |
Move assigns for mismatched capacity. | |
async2::Poll | PendHasSpace (async2::Context &context, size_type num=1) |
Returns pw::async2::Pending until space for num elements is available. | |
async2::Poll | PendNotEmpty (async2::Context &context) |
Returns pw::async2::Pending until an element is available. | |
Static Public Member Functions | |
static constexpr size_type | max_size () |
static constexpr size_type | capacity () |
|
inline |
Copy constructs for mismatched capacity.
Note that this will result in a crash if kOtherCapacity < size()
.
|
inline |
Copy assigns for mismatched capacity.
Note that this will result in a crash if kOtherCapacity < size()
.