类 | |
struct | BlockIndexEntry |
struct | BlockIndexHeader |
Public 成员函数 | |
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 成员函数 继承自 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 成员函数 继承自 moodycamel::details::ConcurrentQueueProducerTypelessBase | |
ConcurrentQueueProducerTypelessBase () | |
Private 成员函数 | |
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 属性 | |
std::atomic< BlockIndexHeader * > | blockIndex |
size_t | nextBlockIndexCapacity |
静态 Private 属性 | |
static const index_t | INVALID_BLOCK_BASE = 1 |
额外继承的成员函数 | |
Public 属性 继承自 moodycamel::ConcurrentQueue< T, Traits >::ProducerBase | |
bool | isExplicit |
ConcurrentQueue * | parent |
Public 属性 继承自 moodycamel::details::ConcurrentQueueProducerTypelessBase | |
std::atomic< bool > | inactive |
ConcurrentQueueProducerTypelessBase * | next |
ProducerToken * | token |
Protected 属性 继承自 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 |
在文件 ConcurrentQueue.h 第 2356 行定义.
|
inline |
在文件 ConcurrentQueue.h 第 2358 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::new_block_index().
|
inline |
在文件 ConcurrentQueue.h 第 2366 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::add_block_to_free_list(), moodycamel::ConcurrentQueue< T, Traits >::BLOCK_SIZE, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::blockIndex, moodycamel::details::circular_less_than(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::get_block_index_entry_for_index(), moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::headIndex, moodycamel::details::ConcurrentQueueProducerTypelessBase::inactive, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::parent, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::tailBlock, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::tailIndex , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inline |
在文件 ConcurrentQueue.h 第 2486 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::add_block_to_free_list(), moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::dequeueOptimisticCount, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::dequeueOvercommit, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::get_block_index_entry_for_index(), moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::headIndex, moodycamel::details::likely(), MOODYCAMEL_NOEXCEPT_ASSIGN, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::parent, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::tailIndex , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inline |
在文件 ConcurrentQueue.h 第 2707 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::add_block_to_free_list(), moodycamel::ConcurrentQueue< T, Traits >::BLOCK_SIZE, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader::capacity, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::dequeueOptimisticCount, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::dequeueOvercommit, moodycamel::details::deref_noexcept(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::get_block_index_index_for_index(), moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::headIndex, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader::index, MOODYCAMEL_CATCH, MOODYCAMEL_NOEXCEPT_ASSIGN, MOODYCAMEL_RETHROW, MOODYCAMEL_TRY, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::parent, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::tailIndex , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inline |
在文件 ConcurrentQueue.h 第 2422 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::add_block_to_free_list(), moodycamel::ConcurrentQueue< T, Traits >::BLOCK_SIZE, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::headIndex, moodycamel::ConcurrentQueue< T, Traits >::MAX_SUBQUEUE_SIZE, MOODYCAMEL_CATCH, MOODYCAMEL_NOEXCEPT_CTOR, MOODYCAMEL_RETHROW, MOODYCAMEL_TRY, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::parent, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::rewind_block_index_tail(), moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::tailBlock, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::tailIndex , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inline |
在文件 ConcurrentQueue.h 第 2557 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::add_blocks_to_free_list(), moodycamel::ConcurrentQueue< T, Traits >::BLOCK_SIZE, moodycamel::details::deref_noexcept(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::get_block_index_entry_for_index(), moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::headIndex, moodycamel::ConcurrentQueue< T, Traits >::MAX_SUBQUEUE_SIZE, MOODYCAMEL_CATCH, MOODYCAMEL_NOEXCEPT_CTOR, MOODYCAMEL_RETHROW, MOODYCAMEL_TRY, moodycamel::ConcurrentQueue< T, Traits >::Block::next, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::parent, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::rewind_block_index_tail(), moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::tailBlock, moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::tailIndex , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inlineprivate |
在文件 ConcurrentQueue.h 第 2863 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::get_block_index_index_for_index() , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader::index.
被这些函数引用 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::dequeue(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::enqueue_bulk() , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::~ImplicitProducer().
|
inlineprivate |
在文件 ConcurrentQueue.h 第 2870 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::BLOCK_SIZE, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::blockIndex, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader::capacity, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader::index, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::INVALID_BLOCK_BASE, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::key, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader::tail , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
被这些函数引用 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::dequeue_bulk() , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::get_block_index_entry_for_index().
|
inlineprivate |
在文件 ConcurrentQueue.h 第 2828 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::blockIndex, moodycamel::ConcurrentQueue< T, Traits >::CannotAlloc, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::INVALID_BLOCK_BASE, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::key, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::new_block_index() , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::value.
|
inlineprivate |
在文件 ConcurrentQueue.h 第 2888 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::blockIndex, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::INVALID_BLOCK_BASE, moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry::key , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::nextBlockIndexCapacity.
被这些函数引用 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::ImplicitProducer() , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::insert_block_index_entry().
|
inlineprivate |
|
private |
在文件 ConcurrentQueue.h 第 2934 行定义.
被这些函数引用 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::get_block_index_index_for_index(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::insert_block_index_entry(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::new_block_index(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::rewind_block_index_tail() , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::~ImplicitProducer().
|
staticprivate |
在文件 ConcurrentQueue.h 第 2810 行定义.
被这些函数引用 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::get_block_index_index_for_index(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::insert_block_index_entry() , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::new_block_index().
|
private |