struct ConcurrentQueue::Block

Declaration

struct ConcurrentQueue::Block { /* full declaration omitted */ };

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

Member Variables

public pika::concurrency::detail::ConcurrentQueue::Block* next
public std::atomic<size_t> elementsCompletelyDequeued
public std::atomic< bool>[BLOCK_SIZE <= EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD ? BLOCK_SIZE : 1] emptyFlags
public std::atomic<std::uint32_t> freeListRefs
public std::atomic<Block*> freeListNext
public std::atomic<bool> shouldBeOnFreeList
public bool dynamicallyAllocated

Method Overview

  • public Block()
  • public template <pika::concurrency::detail::ConcurrentQueue::InnerQueueContext context>inline bool is_empty() const
  • public template <pika::concurrency::detail::ConcurrentQueue::InnerQueueContext context>inline void reset_empty()
  • public template <pika::concurrency::detail::ConcurrentQueue::InnerQueueContext context>inline void set_all_empty()
  • public template <pika::concurrency::detail::ConcurrentQueue::InnerQueueContext context>inline bool set_empty(pika::concurrency::detail::ConcurrentQueue::index_t i)
  • public template <pika::concurrency::detail::ConcurrentQueue::InnerQueueContext context>inline bool set_many_empty(pika::concurrency::detail::ConcurrentQueue::index_t i, pika::concurrency::detail::ConcurrentQueue::size_t count)

Methods

Block()

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

template <
    pika::concurrency::detail::ConcurrentQueue::
        InnerQueueContext context>
inline bool is_empty() const

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

template <
    pika::concurrency::detail::ConcurrentQueue::
        InnerQueueContext context>
inline void reset_empty()

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

template <
    pika::concurrency::detail::ConcurrentQueue::
        InnerQueueContext context>
inline void set_all_empty()

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

template <
    pika::concurrency::detail::ConcurrentQueue::
        InnerQueueContext context>
inline bool set_empty(
    pika::concurrency::detail::ConcurrentQueue::
        index_t i)

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

Parameters

pika::concurrency::detail::ConcurrentQueue:: index_t i

template <
    pika::concurrency::detail::ConcurrentQueue::
        InnerQueueContext context>
inline bool set_many_empty(
    pika::concurrency::detail::ConcurrentQueue::
        index_t i,
    pika::concurrency::detail::ConcurrentQueue::
        size_t count)

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

Parameters

pika::concurrency::detail::ConcurrentQueue:: index_t i
pika::concurrency::detail::ConcurrentQueue::size_t count