Public Member Functions | |
Block () | |
template<InnerQueueContext context> | |
bool | is_empty () const |
T * | operator[] (index_t idx) MOODYCAMEL_NOEXCEPT |
T const * | operator[] (index_t idx) const MOODYCAMEL_NOEXCEPT |
template<InnerQueueContext context> | |
void | reset_empty () |
template<InnerQueueContext context> | |
void | set_all_empty () |
template<InnerQueueContext context> | |
bool | set_empty (index_t i) |
template<InnerQueueContext context> | |
bool | set_many_empty (index_t i, size_t count) |
Public Attributes | |
bool | dynamicallyAllocated |
std::atomic< size_t > | elementsCompletelyDequeued |
std::atomic< bool > | emptyFlags [BLOCK_SIZE<=EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD ? BLOCK_SIZE :1] |
std::atomic< Block * > | freeListNext |
std::atomic< std::uint32_t > | freeListRefs |
Block * | next |
std::atomic< bool > | shouldBeOnFreeList |
details::max_align_t | dummy |
char | elements [sizeof(T) *BLOCK_SIZE] |
Private Attributes | |
union { | |
details::max_align_t dummy | |
char elements [sizeof(T) *BLOCK_SIZE] | |
}; | |
Definition at line 1487 of file ConcurrentQueue.h.
|
inline |
Definition at line 1489 of file ConcurrentQueue.h.
|
inline |
Definition at line 1498 of file ConcurrentQueue.h.
|
inline |
Definition at line 1594 of file ConcurrentQueue.h.
|
inline |
Definition at line 1595 of file ConcurrentQueue.h.
|
inline |
Definition at line 1580 of file ConcurrentQueue.h.
|
inline |
Definition at line 1565 of file ConcurrentQueue.h.
|
inline |
Definition at line 1525 of file ConcurrentQueue.h.
|
inline |
Definition at line 1544 of file ConcurrentQueue.h.
union { ... } |
details::max_align_t moodycamel::ConcurrentQueue< T, Traits >::Block::dummy |
Definition at line 1610 of file ConcurrentQueue.h.
bool moodycamel::ConcurrentQueue< T, Traits >::Block::dynamicallyAllocated |
Definition at line 1620 of file ConcurrentQueue.h.
char moodycamel::ConcurrentQueue< T, Traits >::Block::elements[sizeof(T) *BLOCK_SIZE] |
Definition at line 1609 of file ConcurrentQueue.h.
std::atomic<size_t> moodycamel::ConcurrentQueue< T, Traits >::Block::elementsCompletelyDequeued |
Definition at line 1614 of file ConcurrentQueue.h.
std::atomic<bool> moodycamel::ConcurrentQueue< T, Traits >::Block::emptyFlags[BLOCK_SIZE<=EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD ? BLOCK_SIZE :1] |
Definition at line 1615 of file ConcurrentQueue.h.
std::atomic<Block*> moodycamel::ConcurrentQueue< T, Traits >::Block::freeListNext |
Definition at line 1618 of file ConcurrentQueue.h.
std::atomic<std::uint32_t> moodycamel::ConcurrentQueue< T, Traits >::Block::freeListRefs |
Definition at line 1617 of file ConcurrentQueue.h.
Block* moodycamel::ConcurrentQueue< T, Traits >::Block::next |
Definition at line 1613 of file ConcurrentQueue.h.
Referenced by moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer::enqueue_bulk(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::enqueue_bulk(), and moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer::~ExplicitProducer().
std::atomic<bool> moodycamel::ConcurrentQueue< T, Traits >::Block::shouldBeOnFreeList |
Definition at line 1619 of file ConcurrentQueue.h.