类 moodycamel::ImplicitProducer 继承关系图:
moodycamel::ImplicitProducer 的协作图:类 | |
| 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::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::ProducerBase | |
| bool | isExplicit |
| ConcurrentQueue * | parent |
Public 属性 继承自 moodycamel::details::ConcurrentQueueProducerTypelessBase | |
| std::atomic< bool > | inactive |
| ConcurrentQueueProducerTypelessBase * | next |
| ProducerToken * | token |
Protected 属性 继承自 moodycamel::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 第 2458 行定义.
|
inline |
|
inline |
在文件 ConcurrentQueue.h 第 2468 行定义.
引用了 BLOCK_SIZE, blockIndex, moodycamel::details::circular_less_than(), get_block_index_entry_for_index(), moodycamel::ProducerBase::headIndex, moodycamel::details::ConcurrentQueueProducerTypelessBase::inactive, moodycamel::ProducerBase::parent, moodycamel::ProducerBase::tailBlock, moodycamel::ProducerBase::tailIndex , 以及 moodycamel::ImplicitProducer::BlockIndexEntry::value.
函数调用图:
|
inline |
在文件 ConcurrentQueue.h 第 2587 行定义.
引用了 moodycamel::ProducerBase::dequeueOptimisticCount, moodycamel::ProducerBase::dequeueOvercommit, get_block_index_entry_for_index(), moodycamel::ProducerBase::headIndex, moodycamel::details::likely(), MOODYCAMEL_NOEXCEPT_ASSIGN, moodycamel::ProducerBase::parent, moodycamel::ProducerBase::tailIndex , 以及 moodycamel::ImplicitProducer::BlockIndexEntry::value.
函数调用图:
|
inline |
在文件 ConcurrentQueue.h 第 2805 行定义.
引用了 BLOCK_SIZE, moodycamel::ImplicitProducer::BlockIndexHeader::capacity, moodycamel::ProducerBase::dequeueOptimisticCount, moodycamel::ProducerBase::dequeueOvercommit, moodycamel::details::deref_noexcept(), get_block_index_index_for_index(), moodycamel::ProducerBase::headIndex, moodycamel::ImplicitProducer::BlockIndexHeader::index, MOODYCAMEL_CATCH, MOODYCAMEL_NOEXCEPT_ASSIGN, MOODYCAMEL_RETHROW, MOODYCAMEL_TRY, moodycamel::ProducerBase::parent, moodycamel::ProducerBase::tailIndex , 以及 moodycamel::ImplicitProducer::BlockIndexEntry::value.
函数调用图:
|
inline |
在文件 ConcurrentQueue.h 第 2523 行定义.
引用了 BLOCK_SIZE, moodycamel::ProducerBase::headIndex, MAX_SUBQUEUE_SIZE, MOODYCAMEL_CATCH, MOODYCAMEL_NOEXCEPT_CTOR, MOODYCAMEL_RETHROW, MOODYCAMEL_TRY, moodycamel::ProducerBase::parent, rewind_block_index_tail(), moodycamel::ProducerBase::tailBlock, moodycamel::ProducerBase::tailIndex , 以及 moodycamel::ImplicitProducer::BlockIndexEntry::value.
函数调用图:
|
inline |
在文件 ConcurrentQueue.h 第 2657 行定义.
引用了 BLOCK_SIZE, moodycamel::details::deref_noexcept(), get_block_index_entry_for_index(), moodycamel::ProducerBase::headIndex, MAX_SUBQUEUE_SIZE, MOODYCAMEL_CATCH, MOODYCAMEL_NOEXCEPT_CTOR, MOODYCAMEL_RETHROW, MOODYCAMEL_TRY, moodycamel::Block::next, moodycamel::ProducerBase::parent, rewind_block_index_tail(), moodycamel::ProducerBase::tailBlock, moodycamel::ProducerBase::tailIndex , 以及 moodycamel::ImplicitProducer::BlockIndexEntry::value.
函数调用图:
|
inlineprivate |
在文件 ConcurrentQueue.h 第 2961 行定义.
引用了 get_block_index_index_for_index() , 以及 moodycamel::ImplicitProducer::BlockIndexHeader::index.
被这些函数引用 dequeue(), enqueue_bulk() , 以及 ~ImplicitProducer().
函数调用图:
这是这个函数的调用关系图:
|
inlineprivate |
在文件 ConcurrentQueue.h 第 2968 行定义.
引用了 BLOCK_SIZE, blockIndex, moodycamel::ImplicitProducer::BlockIndexHeader::capacity, moodycamel::ImplicitProducer::BlockIndexHeader::index, INVALID_BLOCK_BASE, moodycamel::ImplicitProducer::BlockIndexEntry::key, moodycamel::ImplicitProducer::BlockIndexHeader::tail , 以及 moodycamel::ImplicitProducer::BlockIndexEntry::value.
被这些函数引用 dequeue_bulk() , 以及 get_block_index_entry_for_index().
这是这个函数的调用关系图:
|
inlineprivate |
|
inlineprivate |
在文件 ConcurrentQueue.h 第 2985 行定义.
引用了 blockIndex, INVALID_BLOCK_BASE, moodycamel::ImplicitProducer::BlockIndexEntry::key , 以及 nextBlockIndexCapacity.
被这些函数引用 ImplicitProducer() , 以及 insert_block_index_entry().
这是这个函数的调用关系图:
|
inlineprivate |
在文件 ConcurrentQueue.h 第 2955 行定义.
引用了 blockIndex.
被这些函数引用 enqueue() , 以及 enqueue_bulk().
这是这个函数的调用关系图:
|
private |
|
staticprivate |
在文件 ConcurrentQueue.h 第 2908 行定义.
被这些函数引用 get_block_index_index_for_index(), insert_block_index_entry() , 以及 new_block_index().
|
private |
在文件 ConcurrentQueue.h 第 3030 行定义.
被这些函数引用 new_block_index().