#include <atomic>#include <cassert>#include <algorithm>#include <array>#include <climits>#include <cstddef>#include <cstdint>#include <cstdlib>#include <limits>#include <mutex>#include <thread>#include <type_traits>#include <utility>Go to the source code of this file.
Classes | |
| class | BlockingConcurrentQueue< T, Traits > |
| class | ConcurrentQueue< T, Traits > |
| class | ConcurrentQueue< T, Traits > |
| struct | ConcurrentQueueDefaultTraits |
| struct | ConsumerToken |
| struct | _hash_32_or_64< use32 > |
| struct | _hash_32_or_64< 1 > |
| struct | ConcurrentQueueProducerTypelessBase |
| struct | const_numeric_max< T > |
| struct | hash_32_or_64< size > |
| struct | identity< T > |
| struct | is_trivially_destructible< T > |
| union | max_align_t |
| struct | nomove_if< Enable > |
| struct | nomove_if< false > |
| struct | static_is_lock_free< T > |
| struct | static_is_lock_free< bool > |
| struct | static_is_lock_free< U * > |
| struct | static_is_lock_free_num< T > |
| struct | static_is_lock_free_num< int > |
| struct | static_is_lock_free_num< long > |
| struct | static_is_lock_free_num< long long > |
| struct | static_is_lock_free_num< short > |
| struct | static_is_lock_free_num< signed char > |
| struct | thread_id_converter< thread_id_t > |
| struct | ThreadExitListener |
| class | ThreadExitNotifier |
| struct | ProducerToken |
Namespaces | |
| genesis | |
| Container namespace for all symbols of genesis in order to keep them separate when used as a library. | |
| genesis::utils | |
| genesis::utils::details | |
Macros | |
| #define | MOODYCAMEL_ALIGNAS(alignment) alignas(alignment) |
| #define | MOODYCAMEL_ALIGNED_TYPE_LIKE(T, obj) alignas(alignof(obj)) typename details::identity<T>::type |
| #define | MOODYCAMEL_ALIGNOF(obj) alignof(obj) |
| #define | MOODYCAMEL_CATCH(...) catch (__VA_ARGS__) |
| #define | MOODYCAMEL_CONSTEXPR_IF if |
| #define | MOODYCAMEL_CPP11_THREAD_LOCAL_SUPPORTED |
| #define | MOODYCAMEL_DELETE_FUNCTION = delete |
| #define | MOODYCAMEL_EXCEPTIONS_ENABLED |
| #define | MOODYCAMEL_MAYBE_UNUSED |
| #define | MOODYCAMEL_NO_TSAN |
| #define | MOODYCAMEL_NOEXCEPT noexcept |
| #define | MOODYCAMEL_NOEXCEPT_ASSIGN(type, valueType, expr) noexcept(expr) |
| #define | MOODYCAMEL_NOEXCEPT_CTOR(type, valueType, expr) noexcept(expr) |
| #define | MOODYCAMEL_RETHROW throw |
| #define | MOODYCAMEL_THREADLOCAL thread_local |
| #define | MOODYCAMEL_THROW(expr) throw(expr) |
| #define | MOODYCAMEL_TRY try |
Typedefs | |
| typedef std::max_align_t | std_max_align_t |
| typedef std::uintptr_t | thread_id_t |
Functions | |
| template<typename U > | |
| static char * | align_for (char *ptr) |
| template<typename T > | |
| static T | ceil_to_pow_2 (T x) |
| template<typename T > | |
| static bool | circular_less_than (T a, T b) |
| template<typename It > | |
| static auto | deref_noexcept (It &it) noexcept -> decltype(*it) |
| static size_t | hash_thread_id (thread_id_t id) |
| static bool() | likely (bool x) |
| template<typename T > | |
| static T const & | nomove (T const &x) |
| template<typename T , typename Traits > | |
| void | swap (ConcurrentQueue< T, Traits > &a, ConcurrentQueue< T, Traits > &b) noexcept |
| void | swap (ConsumerToken &a, ConsumerToken &b) noexcept |
| void | swap (ProducerToken &a, ProducerToken &b) noexcept |
| template<typename T , typename Traits > | |
| void | swap (typename ConcurrentQueue< T, Traits >::ImplicitProducerKVP &a, typename ConcurrentQueue< T, Traits >::ImplicitProducerKVP &b) noexcept |
| template<typename T > | |
| static void | swap_relaxed (std::atomic< T > &left, std::atomic< T > &right) |
| thread_id_t | thread_id () |
| static bool() | unlikely (bool x) |
Variables | |
| static const thread_id_t | invalid_thread_id = 0 |
| static const thread_id_t | invalid_thread_id2 = 1 |
| #define MOODYCAMEL_ALIGNAS | ( | alignment | ) | alignas(alignment) |
Definition at line 381 of file concurrent_queue.hpp.
| #define MOODYCAMEL_ALIGNED_TYPE_LIKE | ( | T, | |
| obj | |||
| ) | alignas(alignof(obj)) typename details::identity<T>::type |
Definition at line 383 of file concurrent_queue.hpp.
| #define MOODYCAMEL_ALIGNOF | ( | obj | ) | alignof(obj) |
Definition at line 382 of file concurrent_queue.hpp.
| #define MOODYCAMEL_CATCH | ( | ... | ) | catch (__VA_ARGS__) |
Definition at line 272 of file concurrent_queue.hpp.
| #define MOODYCAMEL_CONSTEXPR_IF if |
Definition at line 259 of file concurrent_queue.hpp.
| #define MOODYCAMEL_CPP11_THREAD_LOCAL_SUPPORTED |
Definition at line 313 of file concurrent_queue.hpp.
| #define MOODYCAMEL_DELETE_FUNCTION = delete |
Definition at line 324 of file concurrent_queue.hpp.
| #define MOODYCAMEL_EXCEPTIONS_ENABLED |
Definition at line 267 of file concurrent_queue.hpp.
| #define MOODYCAMEL_MAYBE_UNUSED |
Definition at line 260 of file concurrent_queue.hpp.
| #define MOODYCAMEL_NO_TSAN |
Definition at line 393 of file concurrent_queue.hpp.
| #define MOODYCAMEL_NOEXCEPT noexcept |
Definition at line 298 of file concurrent_queue.hpp.
| #define MOODYCAMEL_NOEXCEPT_ASSIGN | ( | type, | |
| valueType, | |||
| expr | |||
| ) | noexcept(expr) |
Definition at line 300 of file concurrent_queue.hpp.
| #define MOODYCAMEL_NOEXCEPT_CTOR | ( | type, | |
| valueType, | |||
| expr | |||
| ) | noexcept(expr) |
Definition at line 299 of file concurrent_queue.hpp.
| #define MOODYCAMEL_RETHROW throw |
Definition at line 273 of file concurrent_queue.hpp.
| #define MOODYCAMEL_THREADLOCAL thread_local |
Definition at line 235 of file concurrent_queue.hpp.
| #define MOODYCAMEL_THROW | ( | expr | ) | throw(expr) |
Definition at line 274 of file concurrent_queue.hpp.
| #define MOODYCAMEL_TRY try |
Definition at line 271 of file concurrent_queue.hpp.