CARLA
 
载入中...
搜索中...
未找到
| Public 成员函数 | Private 成员函数 | Private 属性 | 所有成员列表
moodycamel::ExplicitProducer结构体 参考
+ 类 moodycamel::ExplicitProducer 继承关系图:
+ moodycamel::ExplicitProducer 的协作图:

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)
 
 ExplicitProducer (ConcurrentQueue *parent)
 
 ~ExplicitProducer ()
 
- 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
 
ProducerBasenext_prod () const
 
 ProducerBase (ConcurrentQueue *parent_, bool isExplicit_)
 
size_t size_approx () const
 
virtual ~ProducerBase ()
 
- Public 成员函数 继承自 moodycamel::details::ConcurrentQueueProducerTypelessBase
 ConcurrentQueueProducerTypelessBase ()
 

Private 成员函数

bool new_block_index (size_t numberOfFilledSlotsToExpose)
 

Private 属性

std::atomic< BlockIndexHeader * > blockIndex
 
BlockIndexEntrypr_blockIndexEntries
 
size_t pr_blockIndexFront
 
void * pr_blockIndexRaw
 
size_t pr_blockIndexSize
 
size_t pr_blockIndexSlotsUsed
 

额外继承的成员函数

- Public 属性 继承自 moodycamel::ProducerBase
bool isExplicit
 
ConcurrentQueueparent
 
- Public 属性 继承自 moodycamel::details::ConcurrentQueueProducerTypelessBase
std::atomic< bool > inactive
 
ConcurrentQueueProducerTypelessBasenext
 
ProducerTokentoken
 
- Protected 属性 继承自 moodycamel::ProducerBase
std::atomic< index_tdequeueOptimisticCount
 
std::atomic< index_tdequeueOvercommit
 
std::atomic< index_theadIndex
 
BlocktailBlock
 
std::atomic< index_ttailIndex
 

详细描述

在文件 ConcurrentQueue.h1818 行定义.

构造及析构函数说明

◆ ExplicitProducer()

moodycamel::ExplicitProducer::ExplicitProducer ( ConcurrentQueue * parent)
inlineexplicit

在文件 ConcurrentQueue.h1820 行定义.

◆ ~ExplicitProducer()

moodycamel::ExplicitProducer::~ExplicitProducer ( )
inline

在文件 ConcurrentQueue.h1838 行定义.

成员函数说明

◆ dequeue()

template<typename U >
bool moodycamel::ExplicitProducer::dequeue ( U & element)
inline

在文件 ConcurrentQueue.h1999 行定义.

引用了 BLOCK_SIZE, blockIndex, moodycamel::ProducerBase::dequeueOptimisticCount, moodycamel::ProducerBase::dequeueOvercommit, moodycamel::ProducerBase::headIndex, moodycamel::details::likely(), MOODYCAMEL_NOEXCEPT_ASSIGN , 以及 moodycamel::ProducerBase::tailIndex.

+ 函数调用图:

◆ dequeue_bulk()

template<typename It >
size_t moodycamel::ExplicitProducer::dequeue_bulk ( It & itemFirst,
size_t max )
inline

◆ enqueue()

template<AllocationMode allocMode, typename U >
bool moodycamel::ExplicitProducer::enqueue ( U && element)
inline

在文件 ConcurrentQueue.h1907 行定义.

引用了 moodycamel::ProducerBase::tailIndex.

◆ enqueue_bulk()

template<AllocationMode allocMode, typename It >
bool moodycamel::ExplicitProducer::enqueue_bulk ( It itemFirst,
size_t count )
inline

◆ new_block_index()

bool moodycamel::ExplicitProducer::new_block_index ( size_t numberOfFilledSlotsToExpose)
inlineprivate

在文件 ConcurrentQueue.h2392 行定义.

引用了 blockIndex, pr_blockIndexEntries, pr_blockIndexFront, pr_blockIndexRaw, pr_blockIndexSize, pr_blockIndexSlotsUsed , 以及 moodycamel::ExplicitProducer::BlockIndexHeader::size.

被这些函数引用 enqueue_bulk(), try_dequeue_bulk() , 以及 try_dequeue_from_producer().

+ 这是这个函数的调用关系图:

类成员变量说明

◆ blockIndex

std::atomic<BlockIndexHeader*> moodycamel::ExplicitProducer::blockIndex
private

在文件 ConcurrentQueue.h2433 行定义.

被这些函数引用 dequeue(), dequeue_bulk(), enqueue_bulk(), new_block_index() , 以及 try_dequeue_from_producer().

◆ pr_blockIndexEntries

BlockIndexEntry* moodycamel::ExplicitProducer::pr_blockIndexEntries
private

在文件 ConcurrentQueue.h2439 行定义.

被这些函数引用 new_block_index() , 以及 try_dequeue_bulk().

◆ pr_blockIndexFront

size_t moodycamel::ExplicitProducer::pr_blockIndexFront
private

在文件 ConcurrentQueue.h2438 行定义.

被这些函数引用 enqueue_bulk(), new_block_index(), try_dequeue_bulk() , 以及 try_dequeue_from_producer().

◆ pr_blockIndexRaw

void* moodycamel::ExplicitProducer::pr_blockIndexRaw
private

在文件 ConcurrentQueue.h2440 行定义.

被这些函数引用 enqueue_bulk(), new_block_index() , 以及 try_dequeue_from_producer().

◆ pr_blockIndexSize

size_t moodycamel::ExplicitProducer::pr_blockIndexSize
private

◆ pr_blockIndexSlotsUsed

size_t moodycamel::ExplicitProducer::pr_blockIndexSlotsUsed
private

在文件 ConcurrentQueue.h2436 行定义.

被这些函数引用 enqueue_bulk(), new_block_index(), try_dequeue_bulk() , 以及 try_dequeue_from_producer().


该结构体的文档由以下文件生成: