#include <ConcurrentQueue.h>
类 moodycamel::ConcurrentQueue< T, Traits > 继承关系图:
moodycamel::ConcurrentQueue< T, Traits > 的协作图:Public 类型 | |
| typedef ::moodycamel::ConsumerToken | consumer_token_t |
| typedef Traits::index_t | index_t |
| typedef ::moodycamel::ProducerToken | producer_token_t |
| typedef Traits::size_t | size_t |
Public 成员函数 | |
| ConcurrentQueue (ConcurrentQueue &&other) MOODYCAMEL_NOEXCEPT | |
| ConcurrentQueue (ConcurrentQueue const &) MOODYCAMEL_DELETE_FUNCTION | |
| ConcurrentQueue (size_t capacity=6 *BLOCK_SIZE) | |
| ConcurrentQueue (size_t minCapacity, size_t maxExplicitProducers, size_t maxImplicitProducers) | |
| bool | enqueue (producer_token_t const &token, T &&item) |
| bool | enqueue (producer_token_t const &token, T const &item) |
| bool | enqueue (T &&item) |
| bool | enqueue (T const &item) |
| template<typename It > | |
| bool | enqueue_bulk (It itemFirst, size_t count) |
| template<typename It > | |
| bool | enqueue_bulk (producer_token_t const &token, It itemFirst, size_t count) |
| ConcurrentQueue & | operator= (ConcurrentQueue &&other) MOODYCAMEL_NOEXCEPT |
| ConcurrentQueue & | operator= (ConcurrentQueue const &) MOODYCAMEL_DELETE_FUNCTION |
| void | swap (ConcurrentQueue &other) MOODYCAMEL_NOEXCEPT |
| template<typename U > | |
| bool | try_dequeue (consumer_token_t &token, U &item) |
| template<typename U > | |
| bool | try_dequeue (U &item) |
| template<typename It > | |
| size_t | try_dequeue_bulk (consumer_token_t &token, It itemFirst, size_t max) |
| template<typename It > | |
| size_t | try_dequeue_bulk (It itemFirst, size_t max) |
| template<typename U > | |
| bool | try_dequeue_from_producer (producer_token_t const &producer, U &item) |
| template<typename U > | |
| bool | try_dequeue_non_interleaved (U &item) |
| bool | try_enqueue (producer_token_t const &token, T &&item) |
| bool | try_enqueue (producer_token_t const &token, T const &item) |
| bool | try_enqueue (T &&item) |
| bool | try_enqueue (T const &item) |
| template<typename It > | |
| bool | try_enqueue_bulk (It itemFirst, size_t count) |
| template<typename It > | |
| bool | try_enqueue_bulk (producer_token_t const &token, It itemFirst, size_t count) |
| ~ConcurrentQueue () | |
静态 Public 属性 | |
| static const size_t | BLOCK_SIZE = static_cast<size_t>(Traits::BLOCK_SIZE) |
| static const size_t | EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD = static_cast<size_t>(Traits::EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD) |
| static const std::uint32_t | EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE = static_cast<std::uint32_t>(Traits::EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE) |
| static const size_t | EXPLICIT_INITIAL_INDEX_SIZE = static_cast<size_t>(Traits::EXPLICIT_INITIAL_INDEX_SIZE) |
| static const size_t | IMPLICIT_INITIAL_INDEX_SIZE = static_cast<size_t>(Traits::IMPLICIT_INITIAL_INDEX_SIZE) |
| static const size_t | INITIAL_IMPLICIT_PRODUCER_HASH_SIZE = static_cast<size_t>(Traits::INITIAL_IMPLICIT_PRODUCER_HASH_SIZE) |
| static const size_t | MAX_SUBQUEUE_SIZE = (details::const_numeric_max<size_t>::value - static_cast<size_t>(Traits::MAX_SUBQUEUE_SIZE) < BLOCK_SIZE) ? details::const_numeric_max<size_t>::value : ((static_cast<size_t>(Traits::MAX_SUBQUEUE_SIZE) + (BLOCK_SIZE - 1)) / BLOCK_SIZE * BLOCK_SIZE) |
Private 成员函数 | |
| ConcurrentQueue & | swap_internal (ConcurrentQueue &other) |
在文件 ConcurrentQueue.h 第 749 行定义.
| typedef ::moodycamel::ConsumerToken moodycamel::ConcurrentQueue< T, Traits >::consumer_token_t |
在文件 ConcurrentQueue.h 第 755 行定义.
| typedef Traits::index_t moodycamel::ConcurrentQueue< T, Traits >::index_t |
在文件 ConcurrentQueue.h 第 757 行定义.
| typedef ::moodycamel::ProducerToken moodycamel::ConcurrentQueue< T, Traits >::producer_token_t |
在文件 ConcurrentQueue.h 第 753 行定义.
| typedef Traits::size_t moodycamel::ConcurrentQueue< T, Traits >::size_t |
在文件 ConcurrentQueue.h 第 759 行定义.
|
inlineexplicit |
|
inline |
|
inline |
在文件 ConcurrentQueue.h 第 870 行定义.
引用了 moodycamel::destroy(), moodycamel::destroy_array(), moodycamel::freeList, moodycamel::implicitProducerHash, moodycamel::ConcurrentQueue< T, Traits >::INITIAL_IMPLICIT_PRODUCER_HASH_SIZE, moodycamel::initialBlockPool, moodycamel::initialBlockPoolSize , 以及 moodycamel::producerListTail.
函数调用图:| moodycamel::ConcurrentQueue< T, Traits >::ConcurrentQueue | ( | ConcurrentQueue< T, Traits > const & | ) |
|
inline |
|
inline |
在文件 ConcurrentQueue.h 第 1036 行定义.
|
inline |
在文件 ConcurrentQueue.h 第 1027 行定义.
|
inline |
|
inline |
|
inline |
|
inline |
在文件 ConcurrentQueue.h 第 1060 行定义.
|
inline |
在文件 ConcurrentQueue.h 第 955 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::swap_internal().
函数调用图:| ConcurrentQueue & moodycamel::ConcurrentQueue< T, Traits >::operator= | ( | ConcurrentQueue< T, Traits > const & | ) |
|
inline |
在文件 ConcurrentQueue.h 第 965 行定义.
引用了 moodycamel::ConcurrentQueue< T, Traits >::swap_internal().
函数调用图:
|
inlineprivate |
在文件 ConcurrentQueue.h 第 971 行定义.
引用了 moodycamel::freeList, moodycamel::globalExplicitConsumerOffset, moodycamel::initialBlockPool, moodycamel::initialBlockPoolIndex, moodycamel::initialBlockPoolSize, moodycamel::nextExplicitConsumerId, moodycamel::producerCount, moodycamel::producerListTail, moodycamel::reown_producers(), moodycamel::swap_implicit_producer_hashes() , 以及 moodycamel::details::swap_relaxed().
被这些函数引用 moodycamel::ConcurrentQueue< T, Traits >::operator=() , 以及 moodycamel::ConcurrentQueue< T, Traits >::swap().
函数调用图:
这是这个函数的调用关系图:
|
inline |
在文件 ConcurrentQueue.h 第 1189 行定义.
引用了 moodycamel::ConsumerToken::currentProducer, moodycamel::ProducerBase::dequeue(), moodycamel::ConsumerToken::desiredProducer, moodycamel::ConcurrentQueue< T, Traits >::EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE, moodycamel::globalExplicitConsumerOffset, moodycamel::ConsumerToken::itemsConsumedFromCurrent, moodycamel::ConsumerToken::lastKnownGlobalOffset, moodycamel::producerListTail , 以及 moodycamel::update_current_producer_after_rotation().
函数调用图:
|
inline |
|
inline |
在文件 ConcurrentQueue.h 第 1253 行定义.
引用了 moodycamel::ConsumerToken::currentProducer, moodycamel::ProducerBase::dequeue_bulk(), moodycamel::ConsumerToken::desiredProducer, moodycamel::ConcurrentQueue< T, Traits >::EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE, moodycamel::globalExplicitConsumerOffset, moodycamel::ConsumerToken::itemsConsumedFromCurrent, moodycamel::ConsumerToken::lastKnownGlobalOffset, moodycamel::producerListTail , 以及 moodycamel::update_current_producer_after_rotation().
函数调用图:
|
inline |
在文件 ConcurrentQueue.h 第 1235 行定义.
|
inline |
在文件 ConcurrentQueue.h 第 1323 行定义.
|
inline |
在文件 ConcurrentQueue.h 第 1174 行定义.
|
inline |
在文件 ConcurrentQueue.h 第 1098 行定义.
|
inline |
在文件 ConcurrentQueue.h 第 1090 行定义.
|
inline |
|
inline |
|
inline |
|
inline |
在文件 ConcurrentQueue.h 第 1123 行定义.
|
static |
在文件 ConcurrentQueue.h 第 762 行定义.
被这些函数引用 moodycamel::ConcurrentQueue< T, Traits >::ConcurrentQueue().
|
static |
在文件 ConcurrentQueue.h 第 764 行定义.
|
static |
|
static |
在文件 ConcurrentQueue.h 第 766 行定义.
|
static |
在文件 ConcurrentQueue.h 第 768 行定义.
|
static |
在文件 ConcurrentQueue.h 第 770 行定义.
被这些函数引用 moodycamel::ConcurrentQueue< T, Traits >::enqueue(), moodycamel::ConcurrentQueue< T, Traits >::enqueue_bulk(), moodycamel::ConcurrentQueue< T, Traits >::try_enqueue(), moodycamel::ConcurrentQueue< T, Traits >::try_enqueue_bulk() , 以及 moodycamel::ConcurrentQueue< T, Traits >::~ConcurrentQueue().
|
static |
在文件 ConcurrentQueue.h 第 779 行定义.