Unravel Engine C++ Reference
|
#include <concurrentqueue.h>
Public Types | |
typedef ::moodycamel::ProducerToken | producer_token_t |
typedef ::moodycamel::ConsumerToken | consumer_token_t |
typedef Traits::index_t | index_t |
typedef Traits::size_t | size_t |
Public Member Functions | |
ConcurrentQueue (size_t capacity=32 *BLOCK_SIZE) | |
ConcurrentQueue (size_t minCapacity, size_t maxExplicitProducers, size_t maxImplicitProducers) | |
~ConcurrentQueue () | |
ConcurrentQueue (ConcurrentQueue const &) MOODYCAMEL_DELETE_FUNCTION | |
ConcurrentQueue & | operator= (ConcurrentQueue const &) MOODYCAMEL_DELETE_FUNCTION |
ConcurrentQueue (ConcurrentQueue &&other) MOODYCAMEL_NOEXCEPT | |
ConcurrentQueue & | operator= (ConcurrentQueue &&other) MOODYCAMEL_NOEXCEPT |
void | swap (ConcurrentQueue &other) MOODYCAMEL_NOEXCEPT |
bool | enqueue (T const &item) |
bool | enqueue (T &&item) |
bool | enqueue (producer_token_t const &token, T const &item) |
bool | enqueue (producer_token_t const &token, T &&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) |
bool | try_enqueue (T const &item) |
bool | try_enqueue (T &&item) |
bool | try_enqueue (producer_token_t const &token, T const &item) |
bool | try_enqueue (producer_token_t const &token, T &&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) |
template<typename U > | |
bool | try_dequeue (U &item) |
template<typename U > | |
bool | try_dequeue_non_interleaved (U &item) |
template<typename U > | |
bool | try_dequeue (consumer_token_t &token, U &item) |
template<typename It > | |
size_t | try_dequeue_bulk (It itemFirst, size_t max) |
template<typename It > | |
size_t | try_dequeue_bulk (consumer_token_t &token, It itemFirst, size_t max) |
template<typename U > | |
bool | try_dequeue_from_producer (producer_token_t const &producer, U &item) |
template<typename It > | |
size_t | try_dequeue_bulk_from_producer (producer_token_t const &producer, It itemFirst, size_t max) |
size_t | size_approx () const |
Static Public Member Functions | |
static constexpr bool | is_lock_free () |
Static Public Attributes | |
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 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 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 | 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) |
Friends | |
struct | ProducerToken |
struct | ConsumerToken |
struct | ExplicitProducer |
struct | ImplicitProducer |
class | ConcurrentQueueTests |
template<typename XT , typename XTraits > | |
void | moodycamel::swap (typename ConcurrentQueue< XT, XTraits >::ImplicitProducerKVP &, typename ConcurrentQueue< XT, XTraits >::ImplicitProducerKVP &) MOODYCAMEL_NOEXCEPT |
Definition at line 767 of file concurrentqueue.h.
::moodycamel::ConsumerToken moodycamel::ConcurrentQueue< T, Traits >::consumer_token_t |
Definition at line 771 of file concurrentqueue.h.
Traits::index_t moodycamel::ConcurrentQueue< T, Traits >::index_t |
Definition at line 773 of file concurrentqueue.h.
::moodycamel::ProducerToken moodycamel::ConcurrentQueue< T, Traits >::producer_token_t |
Definition at line 770 of file concurrentqueue.h.
Traits::size_t moodycamel::ConcurrentQueue< T, Traits >::size_t |
Definition at line 774 of file concurrentqueue.h.
|
inlineexplicit |
Definition at line 813 of file concurrentqueue.h.
|
inline |
Definition at line 837 of file concurrentqueue.h.
|
inline |
Definition at line 858 of file concurrentqueue.h.
moodycamel::ConcurrentQueue< T, Traits >::ConcurrentQueue | ( | ConcurrentQueue< T, Traits > const & | ) |
|
inline |
Definition at line 911 of file concurrentqueue.h.
|
inline |
Definition at line 1025 of file concurrentqueue.h.
|
inline |
Definition at line 1016 of file concurrentqueue.h.
|
inline |
Definition at line 1006 of file concurrentqueue.h.
|
inline |
Definition at line 995 of file concurrentqueue.h.
|
inline |
Definition at line 1037 of file concurrentqueue.h.
|
inline |
Definition at line 1050 of file concurrentqueue.h.
|
inlinestaticconstexpr |
Definition at line 1338 of file concurrentqueue.h.
|
inline |
Definition at line 945 of file concurrentqueue.h.
ConcurrentQueue & moodycamel::ConcurrentQueue< T, Traits >::operator= | ( | ConcurrentQueue< T, Traits > const & | ) |
|
inline |
Definition at line 1325 of file concurrentqueue.h.
|
inline |
Definition at line 955 of file concurrentqueue.h.
|
inline |
Definition at line 1183 of file concurrentqueue.h.
|
inline |
Definition at line 1125 of file concurrentqueue.h.
|
inline |
Definition at line 1249 of file concurrentqueue.h.
|
inline |
Definition at line 1231 of file concurrentqueue.h.
|
inline |
Definition at line 1313 of file concurrentqueue.h.
|
inline |
Definition at line 1300 of file concurrentqueue.h.
|
inline |
Definition at line 1168 of file concurrentqueue.h.
|
inline |
Definition at line 1088 of file concurrentqueue.h.
|
inline |
Definition at line 1080 of file concurrentqueue.h.
|
inline |
Definition at line 1071 of file concurrentqueue.h.
|
inline |
Definition at line 1060 of file concurrentqueue.h.
|
inline |
Definition at line 1101 of file concurrentqueue.h.
|
inline |
Definition at line 1113 of file concurrentqueue.h.
|
friend |
Definition at line 1357 of file concurrentqueue.h.
|
friend |
Definition at line 1352 of file concurrentqueue.h.
|
friend |
Definition at line 1354 of file concurrentqueue.h.
|
friend |
Definition at line 1356 of file concurrentqueue.h.
|
friend |
|
friend |
Definition at line 1351 of file concurrentqueue.h.
|
static |
Definition at line 776 of file concurrentqueue.h.
|
static |
Definition at line 777 of file concurrentqueue.h.
|
static |
Definition at line 781 of file concurrentqueue.h.
|
static |
Definition at line 778 of file concurrentqueue.h.
|
static |
Definition at line 779 of file concurrentqueue.h.
|
static |
Definition at line 780 of file concurrentqueue.h.
|
static |
Definition at line 787 of file concurrentqueue.h.