CARLA
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer Struct Reference
+ Inheritance diagram for moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer:

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)
 
 ExplicitProducer (ConcurrentQueue *parent)
 
 ~ExplicitProducer ()
 
- 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

bool new_block_index (size_t numberOfFilledSlotsToExpose)
 

Private Attributes

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

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
 

Detailed Description

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

Definition at line 1710 of file ConcurrentQueue.h.

Constructor & Destructor Documentation

◆ ExplicitProducer()

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

◆ ~ExplicitProducer()

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

Member Function Documentation

◆ dequeue()

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

◆ dequeue_bulk()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
template<typename It >
size_t moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer::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 >::ExplicitProducer::enqueue ( U &&  element)
inline

◆ enqueue_bulk()

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

◆ new_block_index()

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

Member Data Documentation

◆ blockIndex

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

◆ pr_blockIndexEntries

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
BlockIndexEntry* moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer::pr_blockIndexEntries
private

◆ pr_blockIndexFront

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
size_t moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer::pr_blockIndexFront
private

◆ pr_blockIndexRaw

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
void* moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer::pr_blockIndexRaw
private

◆ pr_blockIndexSize

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
size_t moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer::pr_blockIndexSize
private

◆ pr_blockIndexSlotsUsed

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
size_t moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer::pr_blockIndexSlotsUsed
private

The documentation for this struct was generated from the following file: