barretenberg
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
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
 
BlockingConcurrentQueueoperator= (BlockingConcurrentQueue const &) MOODYCAMEL_DELETE_FUNCTION
 
 BlockingConcurrentQueue (BlockingConcurrentQueue &&other) MOODYCAMEL_NOEXCEPT
 
BlockingConcurrentQueueoperator= (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 constexpr 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
 
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
 
static const size_t MAX_SUBQUEUE_SIZE = ConcurrentQueue::MAX_SUBQUEUE_SIZE
 

Member Data Documentation

◆ EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
const size_t moodycamel::BlockingConcurrentQueue< T, Traits >::EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD
static
Initial value:
=
ConcurrentQueue::EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD

◆ EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE

template<typename T , typename Traits = ConcurrentQueueDefaultTraits>
const std::uint32_t moodycamel::BlockingConcurrentQueue< T, Traits >::EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE
static
Initial value:
=
ConcurrentQueue::EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE

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