CARLA
 
载入中...
搜索中...
未找到
| Public 成员函数 | Private 成员函数 | Private 属性 | 静态 Private 属性 | 所有成员列表
moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer结构体 参考
+ 类 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer 继承关系图:
+ moodycamel::ConcurrentQueue< T, Traits >::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::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
 
ProducerBasenext_prod () const
 
 ProducerBase (ConcurrentQueue *parent_, bool isExplicit_)
 
size_t size_approx () const
 
virtual ~ProducerBase ()
 
- Public 成员函数 继承自 moodycamel::details::ConcurrentQueueProducerTypelessBase
 ConcurrentQueueProducerTypelessBase ()
 

Private 成员函数

BlockIndexEntryget_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
 
ConcurrentQueueparent
 
- Public 属性 继承自 moodycamel::details::ConcurrentQueueProducerTypelessBase
std::atomic< bool > inactive
 
ConcurrentQueueProducerTypelessBasenext
 
ProducerTokentoken
 
- Protected 属性 继承自 moodycamel::ConcurrentQueue< T, Traits >::ProducerBase
std::atomic< index_tdequeueOptimisticCount
 
std::atomic< index_tdequeueOvercommit
 
std::atomic< index_theadIndex
 
BlocktailBlock
 
std::atomic< index_ttailIndex
 

详细描述

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
struct moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer

在文件 ConcurrentQueue.h2356 行定义.

构造及析构函数说明

◆ ImplicitProducer()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::ImplicitProducer ( ConcurrentQueue * parent)
inline

在文件 ConcurrentQueue.h2358 行定义.

引用了 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::new_block_index().

+ 函数调用图:

◆ ~ImplicitProducer()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::~ImplicitProducer ( )
inline

成员函数说明

◆ dequeue()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
template<typename U >
bool moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::dequeue ( U & element)
inline

◆ dequeue_bulk()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
template<typename It >
size_t moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::dequeue_bulk ( It & itemFirst,
size_t max )
inline

◆ enqueue()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
template<AllocationMode allocMode, typename U >
bool moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::enqueue ( U && element)
inline

◆ enqueue_bulk()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
template<AllocationMode allocMode, typename It >
bool moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::enqueue_bulk ( It itemFirst,
size_t count )
inline

◆ get_block_index_entry_for_index()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
BlockIndexEntry * moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::get_block_index_entry_for_index ( index_t index) const
inlineprivate

在文件 ConcurrentQueue.h2863 行定义.

引用了 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().

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

◆ get_block_index_index_for_index()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
size_t moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::get_block_index_index_for_index ( index_t index,
BlockIndexHeader *& localBlockIndex ) const
inlineprivate

◆ insert_block_index_entry()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
template<AllocationMode allocMode>
bool moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::insert_block_index_entry ( BlockIndexEntry *& idxEntry,
index_t blockStartIndex )
inlineprivate

◆ new_block_index()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
bool moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::new_block_index ( )
inlineprivate

◆ rewind_block_index_tail()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
void moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::rewind_block_index_tail ( )
inlineprivate

在文件 ConcurrentQueue.h2857 行定义.

引用了 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::blockIndex.

被这些函数引用 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::enqueue() , 以及 moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::enqueue_bulk().

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

类成员变量说明

◆ blockIndex

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
std::atomic<BlockIndexHeader*> moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::blockIndex
private

◆ INVALID_BLOCK_BASE

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
const index_t moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::INVALID_BLOCK_BASE = 1
staticprivate

◆ nextBlockIndexCapacity

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
size_t moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::nextBlockIndexCapacity
private

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