#include <atomic>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <type_traits>
#include <algorithm>
#include <utility>
#include <limits>
#include <climits>
#include <array>
#include <thread>
Go to the source code of this file.
|
struct | moodycamel::details::thread_id_converter< thread_id_t > |
|
struct | moodycamel::details::identity< T > |
|
struct | moodycamel::details::const_numeric_max< T > |
|
union | moodycamel::details::max_align_t |
|
struct | moodycamel::ConcurrentQueueDefaultTraits |
|
class | moodycamel::ConcurrentQueue< T, Traits > |
|
class | moodycamel::BlockingConcurrentQueue< T, Traits > |
|
struct | moodycamel::details::ConcurrentQueueProducerTypelessBase |
|
struct | moodycamel::details::_hash_32_or_64< use32 > |
|
struct | moodycamel::details::_hash_32_or_64< 1 > |
|
struct | moodycamel::details::hash_32_or_64< size > |
|
struct | moodycamel::details::nomove_if< Enable > |
|
struct | moodycamel::details::nomove_if< false > |
|
struct | moodycamel::details::is_trivially_destructible< T > |
|
struct | moodycamel::details::static_is_lock_free_num< T > |
|
struct | moodycamel::details::static_is_lock_free_num< signed char > |
|
struct | moodycamel::details::static_is_lock_free_num< short > |
|
struct | moodycamel::details::static_is_lock_free_num< int > |
|
struct | moodycamel::details::static_is_lock_free_num< long > |
|
struct | moodycamel::details::static_is_lock_free_num< long long > |
|
struct | moodycamel::details::static_is_lock_free< T > |
|
struct | moodycamel::details::static_is_lock_free< bool > |
|
struct | moodycamel::details::static_is_lock_free< U * > |
|
struct | moodycamel::ProducerToken |
|
struct | moodycamel::ConsumerToken |
|
class | moodycamel::ConcurrentQueue< T, Traits > |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::FreeListNode< N > |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::FreeList< N > |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::Block |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::ProducerBase |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer::BlockIndexEntry |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::ExplicitProducer::BlockIndexHeader |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexEntry |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducer::BlockIndexHeader |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducerKVP |
|
struct | moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducerHash |
|
|
thread_id_t | moodycamel::details::thread_id () |
|
static bool() | moodycamel::details::likely (bool x) |
|
static bool() | moodycamel::details::unlikely (bool x) |
|
static size_t | moodycamel::details::hash_thread_id (thread_id_t id) |
|
template<typename T > |
static bool | moodycamel::details::circular_less_than (T a, T b) |
|
template<typename U > |
static char * | moodycamel::details::align_for (char *ptr) |
|
template<typename T > |
static T | moodycamel::details::ceil_to_pow_2 (T x) |
|
template<typename T > |
static void | moodycamel::details::swap_relaxed (std::atomic< T > &left, std::atomic< T > &right) |
|
template<typename T > |
static T const & | moodycamel::details::nomove (T const &x) |
|
template<typename It > |
static auto | moodycamel::details::deref_noexcept (It &it) noexcept -> decltype(*it) |
|
template<typename T , typename Traits > |
void | moodycamel::swap (typename ConcurrentQueue< T, Traits >::ImplicitProducerKVP &a, typename ConcurrentQueue< T, Traits >::ImplicitProducerKVP &b) noexcept |
|
template<typename T , typename Traits > |
void | moodycamel::swap (ConcurrentQueue< T, Traits > &a, ConcurrentQueue< T, Traits > &b) noexcept |
|
void | moodycamel::swap (ProducerToken &a, ProducerToken &b) noexcept |
|
void | moodycamel::swap (ConsumerToken &a, ConsumerToken &b) noexcept |
|
◆ MOODYCAMEL_ALIGNAS
#define MOODYCAMEL_ALIGNAS |
( |
|
alignment | ) |
alignas(alignment) |
◆ MOODYCAMEL_ALIGNED_TYPE_LIKE
#define MOODYCAMEL_ALIGNED_TYPE_LIKE |
( |
|
T, |
|
|
|
obj |
|
) |
| alignas(alignof(obj)) typename details::identity<T>::type |
◆ MOODYCAMEL_ALIGNOF
#define MOODYCAMEL_ALIGNOF |
( |
|
obj | ) |
alignof(obj) |
◆ MOODYCAMEL_CATCH
#define MOODYCAMEL_CATCH |
( |
|
... | ) |
catch(__VA_ARGS__) |
◆ MOODYCAMEL_CONSTEXPR_IF
#define MOODYCAMEL_CONSTEXPR_IF if |
◆ MOODYCAMEL_DELETE_FUNCTION
#define MOODYCAMEL_DELETE_FUNCTION = delete |
◆ MOODYCAMEL_EXCEPTIONS_ENABLED
#define MOODYCAMEL_EXCEPTIONS_ENABLED |
◆ MOODYCAMEL_MAYBE_UNUSED
#define MOODYCAMEL_MAYBE_UNUSED |
◆ MOODYCAMEL_NO_TSAN
#define MOODYCAMEL_NO_TSAN |
◆ MOODYCAMEL_NOEXCEPT
#define MOODYCAMEL_NOEXCEPT noexcept |
◆ MOODYCAMEL_NOEXCEPT_ASSIGN
#define MOODYCAMEL_NOEXCEPT_ASSIGN |
( |
|
type, |
|
|
|
valueType, |
|
|
|
expr |
|
) |
| noexcept(expr) |
◆ MOODYCAMEL_NOEXCEPT_CTOR
#define MOODYCAMEL_NOEXCEPT_CTOR |
( |
|
type, |
|
|
|
valueType, |
|
|
|
expr |
|
) |
| noexcept(expr) |
◆ MOODYCAMEL_RETHROW
#define MOODYCAMEL_RETHROW throw |
◆ MOODYCAMEL_THREADLOCAL
#define MOODYCAMEL_THREADLOCAL thread_local |
◆ MOODYCAMEL_THROW
#define MOODYCAMEL_THROW |
( |
|
expr | ) |
throw (expr) |
◆ MOODYCAMEL_TRY
#define MOODYCAMEL_TRY try |