Agora  1.2.0
Agora project
moodycamel::ConcurrentQueue< T, Traits >::ProducerBase Struct Reference
Inheritance diagram for moodycamel::ConcurrentQueue< T, Traits >::ProducerBase:
Collaboration diagram for moodycamel::ConcurrentQueue< T, Traits >::ProducerBase:

Public Member Functions

 ProducerBase (ConcurrentQueue *parent_, bool isExplicit_)
 
virtual ~ProducerBase ()
 
template<typename U >
bool dequeue (U &element)
 
template<typename It >
size_t dequeue_bulk (It &itemFirst, size_t max)
 
ProducerBasenext_prod () const
 
size_t size_approx () const
 
index_t getTail () const
 
- Public Member Functions inherited from moodycamel::details::ConcurrentQueueProducerTypelessBase
 ConcurrentQueueProducerTypelessBase ()
 

Public Attributes

bool isExplicit
 
ConcurrentQueueparent
 
- Public Attributes inherited from moodycamel::details::ConcurrentQueueProducerTypelessBase
ConcurrentQueueProducerTypelessBasenext
 
std::atomic< bool > inactive
 
ProducerTokentoken
 

Protected Attributes

std::atomic< index_ttailIndex
 
std::atomic< index_theadIndex
 
std::atomic< index_tdequeueOptimisticCount
 
std::atomic< index_tdequeueOvercommit
 
BlocktailBlock
 

Constructor & Destructor Documentation

◆ ProducerBase()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::ProducerBase ( ConcurrentQueue parent_,
bool  isExplicit_ 
)
inline

◆ ~ProducerBase()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
virtual moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::~ProducerBase ( )
inlinevirtual

Member Function Documentation

◆ dequeue()

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

◆ dequeue_bulk()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
template<typename It >
size_t moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::dequeue_bulk ( It &  itemFirst,
size_t  max 
)
inline
Here is the call graph for this function:

◆ getTail()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
index_t moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::getTail ( ) const
inline

◆ next_prod()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
ProducerBase* moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::next_prod ( ) const
inline

◆ size_approx()

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
size_t moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::size_approx ( ) const
inline
Here is the call graph for this function:

Member Data Documentation

◆ dequeueOptimisticCount

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
std::atomic<index_t> moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::dequeueOptimisticCount
protected

◆ dequeueOvercommit

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
std::atomic<index_t> moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::dequeueOvercommit
protected

◆ headIndex

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
std::atomic<index_t> moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::headIndex
protected

◆ isExplicit

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
bool moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::isExplicit

◆ parent

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
ConcurrentQueue* moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::parent

◆ tailBlock

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
Block* moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::tailBlock
protected

◆ tailIndex

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
std::atomic<index_t> moodycamel::ConcurrentQueue< T, Traits >::ProducerBase::tailIndex
protected

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