template<typename ValueType, typename SizeType, size_t kCapacity = containers::internal::kGenericSized>
class pw::BasicInlineAsyncQueue< ValueType, SizeType, kCapacity >
BasicInlineAsyncQueue
adds async PendHasSpace
and PendNotEmpty
methods to BasicInlineQueue
.
BasicInlineAsyncQueue
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::InlineAsyncQueue
, which uses a size_type
of uint16_t
.
- Warning
BasicInlineAsyncQueue
is NOT thread safe. External synchronization is required to share a BasicInlineAsyncQueue
between threads.
|
| BasicInlineAsyncQueue (size_type count, const_reference value) |
|
| BasicInlineAsyncQueue (size_type count) |
|
template<typename InputIterator , typename = containers::internal::EnableIfInputIterator<InputIterator>> |
| BasicInlineAsyncQueue (InputIterator start, InputIterator finish) |
|
| BasicInlineAsyncQueue (const std::initializer_list< value_type > &list) |
|
| BasicInlineAsyncQueue (const BasicInlineAsyncQueue &other) |
| Copy constructs for matching capacity.
|
|
template<size_t kOtherCapacity> |
| BasicInlineAsyncQueue (const BasicInlineAsyncQueue< ValueType, SizeType, kOtherCapacity > &other) |
|
| BasicInlineAsyncQueue (BasicInlineAsyncQueue &&other) |
| Move constructs for matching capacity.
|
|
template<size_t kOtherCapacity> |
| BasicInlineAsyncQueue (BasicInlineAsyncQueue< ValueType, SizeType, kOtherCapacity > &&other) |
|
BasicInlineAsyncQueue & | operator= (const std::initializer_list< value_type > &list) |
|
BasicInlineAsyncQueue & | operator= (const BasicInlineAsyncQueue &other) |
| Copy assigns from matching capacity.
|
|
template<size_t kOtherCapacity> |
BasicInlineAsyncQueue & | operator= (const BasicInlineAsyncQueue< ValueType, SizeType, kOtherCapacity > &other) |
|
BasicInlineAsyncQueue & | operator= (BasicInlineAsyncQueue &&other) |
| Move assigns from matching capacity.
|
|
template<size_t kOtherCapacity> |
BasicInlineAsyncQueue & | operator= (BasicInlineAsyncQueue< ValueType, SizeType, kOtherCapacity > &&other) |
|
template<typename OtherValueType , typename = containers::internal::EnableIfIterable<OtherValueType>> |
BasicInlineAsyncQueue & | operator= (const OtherValueType &other) |
|
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.
|
|