Classes | |
struct | BlockIndexEntry |
struct | BlockIndexHeader |
Public Member Functions | |
template<typename U > | |
bool | dequeue (U &element) |
template<typename It > | |
size_t | dequeue_bulk (It &itemFirst, size_t max) |
template<AllocationMode allocMode, typename U > | |
bool | enqueue (U &&element) |
template<AllocationMode allocMode, typename It > | |
bool | enqueue_bulk (It itemFirst, size_t count) |
ImplicitProducer (ConcurrentQueue *parent) | |
~ImplicitProducer () | |
Public Member Functions inherited from moodycamel::ConcurrentQueue< T, Traits >::ProducerBase | |
template<typename U > | |
bool | dequeue (U &element) |
template<typename It > | |
size_t | dequeue_bulk (It &itemFirst, size_t max) |
index_t | getTail () const |
ProducerBase * | next_prod () const |
ProducerBase (ConcurrentQueue *parent_, bool isExplicit_) | |
size_t | size_approx () const |
virtual | ~ProducerBase () |
Public Member Functions inherited from moodycamel::details::ConcurrentQueueProducerTypelessBase | |
ConcurrentQueueProducerTypelessBase () | |
Private Member Functions | |
BlockIndexEntry * | get_block_index_entry_for_index (index_t index) const |
size_t | get_block_index_index_for_index (index_t index, BlockIndexHeader *&localBlockIndex) const |
template<AllocationMode allocMode> | |
bool | insert_block_index_entry (BlockIndexEntry *&idxEntry, index_t blockStartIndex) |
bool | new_block_index () |
void | rewind_block_index_tail () |
Private Attributes | |
std::atomic< BlockIndexHeader * > | blockIndex |
size_t | nextBlockIndexCapacity |
Static Private Attributes | |
static const index_t | INVALID_BLOCK_BASE = 1 |
Additional Inherited Members | |
Public Attributes inherited from moodycamel::ConcurrentQueue< T, Traits >::ProducerBase | |
bool | isExplicit |
ConcurrentQueue * | parent |
Public Attributes inherited from moodycamel::details::ConcurrentQueueProducerTypelessBase | |
std::atomic< bool > | inactive |
ConcurrentQueueProducerTypelessBase * | next |
ProducerToken * | token |
Protected Attributes inherited from moodycamel::ConcurrentQueue< T, Traits >::ProducerBase | |
std::atomic< index_t > | dequeueOptimisticCount |
std::atomic< index_t > | dequeueOvercommit |
std::atomic< index_t > | headIndex |
Block * | tailBlock |
std::atomic< index_t > | tailIndex |
Definition at line 2356 of file ConcurrentQueue.h.
|
inline |
Definition at line 2358 of file ConcurrentQueue.h.
|
inline |
Definition at line 2366 of file ConcurrentQueue.h.
References moodycamel::details::circular_less_than().
|
inline |
Definition at line 2486 of file ConcurrentQueue.h.
References moodycamel::ConcurrentQueue< T, Traits >::add_block_to_free_list(), moodycamel::details::likely(), MOODYCAMEL_NOEXCEPT_ASSIGN, and moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inline |
Definition at line 2707 of file ConcurrentQueue.h.
References moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader::capacity, moodycamel::details::deref_noexcept(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader::index, MOODYCAMEL_CATCH, MOODYCAMEL_NOEXCEPT_ASSIGN, MOODYCAMEL_RETHROW, MOODYCAMEL_TRY, and moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inline |
Definition at line 2422 of file ConcurrentQueue.h.
References MOODYCAMEL_CATCH, MOODYCAMEL_NOEXCEPT_CTOR, MOODYCAMEL_RETHROW, MOODYCAMEL_TRY, and moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inline |
Definition at line 2557 of file ConcurrentQueue.h.
References moodycamel::details::deref_noexcept(), MOODYCAMEL_CATCH, MOODYCAMEL_NOEXCEPT_CTOR, MOODYCAMEL_RETHROW, MOODYCAMEL_TRY, moodycamel::ConcurrentQueue< T, Traits >::Block::next, and moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inlineprivate |
Definition at line 2863 of file ConcurrentQueue.h.
References moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader::index.
|
inlineprivate |
Definition at line 2870 of file ConcurrentQueue.h.
References moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader::tail.
|
inlineprivate |
Definition at line 2828 of file ConcurrentQueue.h.
References moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::key, and moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inlineprivate |
Definition at line 2888 of file ConcurrentQueue.h.
References moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::key.
|
inlineprivate |
Definition at line 2857 of file ConcurrentQueue.h.
|
private |
Definition at line 2934 of file ConcurrentQueue.h.
|
staticprivate |
Definition at line 2810 of file ConcurrentQueue.h.
|
private |
Definition at line 2933 of file ConcurrentQueue.h.