Unravel Engine C++ Reference
Loading...
Searching...
No Matches
concurrentqueue.h File Reference
#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>
#include <mutex>

Go to the source code of this file.

Classes

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
 
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::ThreadExitListener
 
class  moodycamel::details::ThreadExitNotifier
 
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 >
 

Namespaces

namespace  moodycamel
 
namespace  moodycamel::details
 

Macros

#define MOODYCAMEL_THREADLOCAL   thread_local
 
#define MOODYCAMEL_CONSTEXPR_IF   if
 
#define MOODYCAMEL_MAYBE_UNUSED
 
#define MOODYCAMEL_EXCEPTIONS_ENABLED
 
#define MOODYCAMEL_TRY   try
 
#define MOODYCAMEL_CATCH(...)
 
#define MOODYCAMEL_RETHROW   throw
 
#define MOODYCAMEL_THROW(expr)
 
#define MOODYCAMEL_NOEXCEPT   noexcept
 
#define MOODYCAMEL_NOEXCEPT_CTOR(type, valueType, expr)
 
#define MOODYCAMEL_NOEXCEPT_ASSIGN(type, valueType, expr)
 
#define MOODYCAMEL_CPP11_THREAD_LOCAL_SUPPORTED
 
#define MOODYCAMEL_DELETE_FUNCTION   = delete
 
#define MOODYCAMEL_ALIGNAS(alignment)
 
#define MOODYCAMEL_ALIGNOF(obj)
 
#define MOODYCAMEL_ALIGNED_TYPE_LIKE(T, obj)
 
#define MOODYCAMEL_NO_TSAN
 

Typedefs

typedef std::uintptr_t moodycamel::details::thread_id_t
 
typedef std::max_align_t moodycamel::details::std_max_align_t
 

Functions

thread_id_t moodycamel::details::thread_id ()
 
template<typename T , typename Traits >
void moodycamel::swap (typename ConcurrentQueue< T, Traits >::ImplicitProducerKVP &a, typename ConcurrentQueue< T, Traits >::ImplicitProducerKVP &b) MOODYCAMEL_NOEXCEPT
 
template<typename T , typename Traits >
void moodycamel::swap (ConcurrentQueue< T, Traits > &a, ConcurrentQueue< T, Traits > &b) MOODYCAMEL_NOEXCEPT
 
void moodycamel::swap (ProducerToken &a, ProducerToken &b) MOODYCAMEL_NOEXCEPT
 
void moodycamel::swap (ConsumerToken &a, ConsumerToken &b) MOODYCAMEL_NOEXCEPT
 

Macro Definition Documentation

◆ MOODYCAMEL_ALIGNAS

#define MOODYCAMEL_ALIGNAS ( alignment)
Value:
alignas(alignment)

Definition at line 256 of file concurrentqueue.h.

◆ MOODYCAMEL_ALIGNED_TYPE_LIKE

#define MOODYCAMEL_ALIGNED_TYPE_LIKE ( T,
obj )
Value:
alignas(alignof(obj)) typename details::identity<T>::type

Definition at line 258 of file concurrentqueue.h.

◆ MOODYCAMEL_ALIGNOF

#define MOODYCAMEL_ALIGNOF ( obj)
Value:
alignof(obj)

Definition at line 257 of file concurrentqueue.h.

◆ MOODYCAMEL_CATCH

#define MOODYCAMEL_CATCH ( ...)
Value:
catch(__VA_ARGS__)

Definition at line 181 of file concurrentqueue.h.

◆ MOODYCAMEL_CONSTEXPR_IF

#define MOODYCAMEL_CONSTEXPR_IF   if

Definition at line 168 of file concurrentqueue.h.

◆ MOODYCAMEL_CPP11_THREAD_LOCAL_SUPPORTED

#define MOODYCAMEL_CPP11_THREAD_LOCAL_SUPPORTED

Definition at line 222 of file concurrentqueue.h.

◆ MOODYCAMEL_DELETE_FUNCTION

#define MOODYCAMEL_DELETE_FUNCTION   = delete

Definition at line 233 of file concurrentqueue.h.

◆ MOODYCAMEL_EXCEPTIONS_ENABLED

#define MOODYCAMEL_EXCEPTIONS_ENABLED

Definition at line 176 of file concurrentqueue.h.

◆ MOODYCAMEL_MAYBE_UNUSED

#define MOODYCAMEL_MAYBE_UNUSED

Definition at line 169 of file concurrentqueue.h.

◆ MOODYCAMEL_NO_TSAN

#define MOODYCAMEL_NO_TSAN

Definition at line 267 of file concurrentqueue.h.

◆ MOODYCAMEL_NOEXCEPT

#define MOODYCAMEL_NOEXCEPT   noexcept

Definition at line 207 of file concurrentqueue.h.

◆ MOODYCAMEL_NOEXCEPT_ASSIGN

#define MOODYCAMEL_NOEXCEPT_ASSIGN ( type,
valueType,
expr )
Value:
noexcept(expr)

Definition at line 209 of file concurrentqueue.h.

◆ MOODYCAMEL_NOEXCEPT_CTOR

#define MOODYCAMEL_NOEXCEPT_CTOR ( type,
valueType,
expr )
Value:
noexcept(expr)

Definition at line 208 of file concurrentqueue.h.

◆ MOODYCAMEL_RETHROW

#define MOODYCAMEL_RETHROW   throw

Definition at line 182 of file concurrentqueue.h.

◆ MOODYCAMEL_THREADLOCAL

#define MOODYCAMEL_THREADLOCAL   thread_local

Definition at line 152 of file concurrentqueue.h.

◆ MOODYCAMEL_THROW

#define MOODYCAMEL_THROW ( expr)
Value:
throw (expr)

Definition at line 183 of file concurrentqueue.h.

◆ MOODYCAMEL_TRY

#define MOODYCAMEL_TRY   try

Definition at line 180 of file concurrentqueue.h.