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:

public next
public inactive
public token

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_)

    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)

    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)

    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

    Declared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2226

    inline pika::concurrency::detail::
        ConcurrentQueue::ProducerBase*
        next_prod() const

    Declared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2212

    inline pika::concurrency::detail::
        ConcurrentQueue::size_t
        size_approx() const

    Declared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2217

    virtual ~ProducerBase()

    Declared at: libs/pika/concurrency/include/pika/concurrency/concurrentqueue.hpp:2180