struct ConcurrentQueue::ProducerBase
Declaration
struct ConcurrentQueue::ProducerBase
: public ConcurrentQueueProducerTypelessBase { /* full declaration omitted */ };Description
////////////////////////
Declared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2167
Inherits from: ConcurrentQueueProducerTypelessBase
Member Variables
- protected std::atomic<index_t> tailIndex
- protected std::atomic<index_t> headIndex
- protected std::atomic<index_t> dequeueOptimisticCount
- protected std::atomic<index_t> dequeueOvercommit
- protected pika::concurrency::detail::ConcurrentQueue::Block* tailBlock
- public bool isExplicit
- public ConcurrentQueue<T, Traits>* parent
Inherited from ConcurrentQueueProducerTypelessBase:
Method Overview
- public ProducerBase(ConcurrentQueue<T, Traits> * parent_, bool isExplicit_)
- public template <typename U>inline bool dequeue(U & element)
- public template <typename It>inline pika::concurrency::detail::ConcurrentQueue::size_t dequeue_bulk(It & itemFirst, pika::concurrency::detail::ConcurrentQueue::size_t max)
- public inline pika::concurrency::detail::ConcurrentQueue::index_t getTail() const
- public inline pika::concurrency::detail::ConcurrentQueue::ProducerBase * next_prod() const
- public inline pika::concurrency::detail::ConcurrentQueue::size_t size_approx() const
- public virtual ~ProducerBase()
Inherited from ConcurrentQueueProducerTypelessBase:
Methods
ProducerBase(ConcurrentQueue<T, Traits>* parent_,
bool isExplicit_)
ProducerBase(ConcurrentQueue<T, Traits>* parent_,
bool isExplicit_)Declared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2169
Parameters
- ConcurrentQueue<T, Traits>* parent_
- bool isExplicit_
template <typename U>
inline bool dequeue(U& element)
template <typename U>
inline bool dequeue(U& element)Declared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2183
Parameters
- U& element
template <typename It>
inline pika::concurrency::detail::
ConcurrentQueue::size_t
dequeue_bulk(It& itemFirst,
pika::concurrency::detail::
ConcurrentQueue::size_t max)
template <typename It>
inline pika::concurrency::detail::
ConcurrentQueue::size_t
dequeue_bulk(It& itemFirst,
pika::concurrency::detail::
ConcurrentQueue::size_t max)Declared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2198
Parameters
- It& itemFirst
- pika::concurrency::detail::ConcurrentQueue::size_t max
inline pika::concurrency::detail::
ConcurrentQueue::index_t
getTail() const
inline pika::concurrency::detail::
ConcurrentQueue::index_t
getTail() constDeclared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2226
inline pika::concurrency::detail::
ConcurrentQueue::ProducerBase*
next_prod() const
inline pika::concurrency::detail::
ConcurrentQueue::ProducerBase*
next_prod() constDeclared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2212
inline pika::concurrency::detail::
ConcurrentQueue::size_t
size_approx() const
inline pika::concurrency::detail::
ConcurrentQueue::size_t
size_approx() constDeclared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2217
virtual ~ProducerBase()
virtual ~ProducerBase()Declared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2180