#include <Workspace/Application/concurrentqueue.h>
|
| ConcurrentQueue (ConcurrentQueue &&other) noexcept |
|
| ConcurrentQueue (ConcurrentQueue const &)=delete |
|
| ConcurrentQueue (size_t capacity=32 *BLOCK_SIZE) |
|
| ConcurrentQueue (size_t minCapacity, size_t maxExplicitProducers, size_t maxImplicitProducers) |
|
| ~ConcurrentQueue () |
|
bool | enqueue (producer_token_t const &token, T &&item) |
|
bool | enqueue (producer_token_t const &token, T const &item) |
|
bool | enqueue (T &&item) |
|
bool | enqueue (T const &item) |
|
template<typename It > |
bool | enqueue_bulk (It itemFirst, size_t count) |
|
template<typename It > |
bool | enqueue_bulk (producer_token_t const &token, It itemFirst, size_t count) |
|
ConcurrentQueue & | operator= (ConcurrentQueue &&other) noexcept |
|
ConcurrentQueue & | operator= (ConcurrentQueue const &)=delete |
|
size_t | size_approx () const |
|
void | swap (ConcurrentQueue &other) noexcept |
|
template<typename U > |
bool | try_dequeue (consumer_token_t &token, U &item) |
|
template<typename U > |
bool | try_dequeue (U &item) |
|
template<typename It > |
size_t | try_dequeue_bulk (consumer_token_t &token, It itemFirst, size_t max) |
|
template<typename It > |
size_t | try_dequeue_bulk (It itemFirst, size_t max) |
|
template<typename It > |
size_t | try_dequeue_bulk_from_producer (producer_token_t const &producer, It itemFirst, size_t max) |
|
template<typename U > |
bool | try_dequeue_from_producer (producer_token_t const &producer, U &item) |
|
template<typename U > |
bool | try_dequeue_non_interleaved (U &item) |
|
bool | try_enqueue (producer_token_t const &token, T &&item) |
|
bool | try_enqueue (producer_token_t const &token, T const &item) |
|
bool | try_enqueue (T &&item) |
|
bool | try_enqueue (T const &item) |
|
template<typename It > |
bool | try_enqueue_bulk (It itemFirst, size_t count) |
|
template<typename It > |
bool | try_enqueue_bulk (producer_token_t const &token, It itemFirst, size_t count) |
|
◆ consumer_token_t
◆ index_t
◆ producer_token_t
◆ size_t
◆ ConcurrentQueue() [1/4]
◆ ConcurrentQueue() [2/4]
◆ ~ConcurrentQueue()
◆ ConcurrentQueue() [3/4]
◆ ConcurrentQueue() [4/4]
◆ enqueue() [1/4]
◆ enqueue() [2/4]
◆ enqueue() [3/4]
bool enqueue |
( |
T && |
item | ) |
|
|
inline |
◆ enqueue() [4/4]
bool enqueue |
( |
T const & |
item | ) |
|
|
inline |
◆ enqueue_bulk() [1/2]
bool enqueue_bulk |
( |
It |
itemFirst, |
|
|
size_t |
count |
|
) |
| |
|
inline |
◆ enqueue_bulk() [2/2]
◆ is_lock_free()
static constexpr bool is_lock_free |
( |
| ) |
|
|
inlinestaticconstexpr |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ size_approx()
◆ swap()
◆ try_dequeue() [1/2]
◆ try_dequeue() [2/2]
bool try_dequeue |
( |
U & |
item | ) |
|
|
inline |
◆ try_dequeue_bulk() [1/2]
◆ try_dequeue_bulk() [2/2]
◆ try_dequeue_bulk_from_producer()
◆ try_dequeue_from_producer()
◆ try_dequeue_non_interleaved()
bool try_dequeue_non_interleaved |
( |
U & |
item | ) |
|
|
inline |
◆ try_enqueue() [1/4]
◆ try_enqueue() [2/4]
◆ try_enqueue() [3/4]
bool try_enqueue |
( |
T && |
item | ) |
|
|
inline |
◆ try_enqueue() [4/4]
bool try_enqueue |
( |
T const & |
item | ) |
|
|
inline |
◆ try_enqueue_bulk() [1/2]
bool try_enqueue_bulk |
( |
It |
itemFirst, |
|
|
size_t |
count |
|
) |
| |
|
inline |
◆ try_enqueue_bulk() [2/2]
◆ BLOCK_SIZE
const size_t BLOCK_SIZE = static_cast<size_t>(Traits::BLOCK_SIZE) |
|
static |
◆ EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD
const size_t EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD = static_cast<size_t>(Traits::EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD) |
|
static |
◆ EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE
const std::uint32_t EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE = static_cast<std::uint32_t>(Traits::EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE) |
|
static |
◆ EXPLICIT_INITIAL_INDEX_SIZE
const size_t EXPLICIT_INITIAL_INDEX_SIZE = static_cast<size_t>(Traits::EXPLICIT_INITIAL_INDEX_SIZE) |
|
static |
◆ IMPLICIT_INITIAL_INDEX_SIZE
const size_t IMPLICIT_INITIAL_INDEX_SIZE = static_cast<size_t>(Traits::IMPLICIT_INITIAL_INDEX_SIZE) |
|
static |
◆ INITIAL_IMPLICIT_PRODUCER_HASH_SIZE
const size_t INITIAL_IMPLICIT_PRODUCER_HASH_SIZE = static_cast<size_t>(Traits::INITIAL_IMPLICIT_PRODUCER_HASH_SIZE) |
|
static |
◆ MAX_SUBQUEUE_SIZE