RavEngine
Loading...
Searching...
No Matches
moodycamel::BlockingConcurrentQueue< T, Traits > Class Template Reference

Public Types

typedef ConcurrentQueue::producer_token_t producer_token_t
 
typedef ConcurrentQueue::consumer_token_t consumer_token_t
 
typedef ConcurrentQueue::index_t index_t
 
typedef ConcurrentQueue::size_t size_t
 
typedef std::make_signed< size_t >::type ssize_t
 

Public Member Functions

 BlockingConcurrentQueue (size_t capacity=6 *BLOCK_SIZE)
 
 BlockingConcurrentQueue (size_t minCapacity, size_t maxExplicitProducers, size_t maxImplicitProducers)
 
 BlockingConcurrentQueue (BlockingConcurrentQueue const &) MOODYCAMEL_DELETE_FUNCTION
 
BlockingConcurrentQueue & operator= (BlockingConcurrentQueue const &) MOODYCAMEL_DELETE_FUNCTION
 
 BlockingConcurrentQueue (BlockingConcurrentQueue &&other) MOODYCAMEL_NOEXCEPT
 
BlockingConcurrentQueue & operator= (BlockingConcurrentQueue &&other) MOODYCAMEL_NOEXCEPT
 
void swap (BlockingConcurrentQueue &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 (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 >
void wait_dequeue (U &item)
 
template<typename U >
bool wait_dequeue_timed (U &item, std::int64_t timeout_usecs)
 
template<typename U , typename Rep , typename Period >
bool wait_dequeue_timed (U &item, std::chrono::duration< Rep, Period > const &timeout)
 
template<typename U >
void wait_dequeue (consumer_token_t &token, U &item)
 
template<typename U >
bool wait_dequeue_timed (consumer_token_t &token, U &item, std::int64_t timeout_usecs)
 
template<typename U , typename Rep , typename Period >
bool wait_dequeue_timed (consumer_token_t &token, U &item, std::chrono::duration< Rep, Period > const &timeout)
 
template<typename It >
size_t wait_dequeue_bulk (It itemFirst, size_t max)
 
template<typename It >
size_t wait_dequeue_bulk_timed (It itemFirst, size_t max, std::int64_t timeout_usecs)
 
template<typename It , typename Rep , typename Period >
size_t wait_dequeue_bulk_timed (It itemFirst, size_t max, std::chrono::duration< Rep, Period > const &timeout)
 
template<typename It >
size_t wait_dequeue_bulk (consumer_token_t &token, It itemFirst, size_t max)
 
template<typename It >
size_t wait_dequeue_bulk_timed (consumer_token_t &token, It itemFirst, size_t max, std::int64_t timeout_usecs)
 
template<typename It , typename Rep , typename Period >
size_t wait_dequeue_bulk_timed (consumer_token_t &token, It itemFirst, size_t max, std::chrono::duration< Rep, Period > const &timeout)
 
size_t size_approx () const
 

Static Public Member Functions

static bool is_lock_free ()
 

Static Public Attributes

static const size_t BLOCK_SIZE = ConcurrentQueue::BLOCK_SIZE
 
static const size_t EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD = ConcurrentQueue::EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD
 
static const size_t EXPLICIT_INITIAL_INDEX_SIZE = ConcurrentQueue::EXPLICIT_INITIAL_INDEX_SIZE
 
static const size_t IMPLICIT_INITIAL_INDEX_SIZE = ConcurrentQueue::IMPLICIT_INITIAL_INDEX_SIZE
 
static const size_t INITIAL_IMPLICIT_PRODUCER_HASH_SIZE = ConcurrentQueue::INITIAL_IMPLICIT_PRODUCER_HASH_SIZE
 
static const std::uint32_t EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE = ConcurrentQueue::EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE
 
static const size_t MAX_SUBQUEUE_SIZE = ConcurrentQueue::MAX_SUBQUEUE_SIZE
 

The documentation for this class was generated from the following file: