JODA  0.13.1 (59b41972)
JSON On-Demand Analysis
Namespaces | Data Structures | Typedefs | Functions | Variables
moodycamel::details Namespace Reference

Namespaces

 mpmc_sema
 

Data Structures

struct  thread_id_converter
 
struct  const_numeric_max
 
union  max_align_t
 
struct  ConcurrentQueueProducerTypelessBase
 
struct  _hash_32_or_64
 
struct  _hash_32_or_64< 1 >
 
struct  hash_32_or_64
 
struct  nomove_if
 
struct  nomove_if< false >
 
struct  is_trivially_destructible
 
struct  static_is_lock_free_num
 
struct  static_is_lock_free_num< signed char >
 
struct  static_is_lock_free_num< short >
 
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
 
struct  static_is_lock_free< bool >
 
struct  static_is_lock_free< U * >
 

Typedefs

typedef std::uintptr_t thread_id_t
 
typedef std::max_align_t std_max_align_t
 

Functions

static thread_id_t thread_id ()
 
static bool() likely (bool x)
 
static bool() unlikely (bool x)
 
static size_t hash_thread_id (thread_id_t id)
 
template<typename T >
static bool circular_less_than (T a, T b)
 
template<typename U >
static char * align_for (char *ptr)
 
template<typename T >
static T ceil_to_pow_2 (T x)
 
template<typename T >
static void swap_relaxed (std::atomic< T > &left, std::atomic< T > &right)
 
template<typename T >
static T const & nomove (T const &x)
 
template<typename It >
static auto deref_noexcept (It &it) MOODYCAMEL_NOEXCEPT -> decltype(*it)
 

Variables

static const thread_id_t invalid_thread_id = 0
 
static const thread_id_t invalid_thread_id2
 

Data Structure Documentation

◆ moodycamel::details::max_align_t

union moodycamel::details::max_align_t
Data Fields
std_max_align_t x
long long y
void * z

Typedef Documentation

◆ std_max_align_t

typedef std::max_align_t moodycamel::details::std_max_align_t

◆ thread_id_t

typedef std::uintptr_t moodycamel::details::thread_id_t

Function Documentation

◆ align_for()

template<typename U >
static char* moodycamel::details::align_for ( char *  ptr)
inlinestatic

◆ ceil_to_pow_2()

template<typename T >
static T moodycamel::details::ceil_to_pow_2 ( x)
inlinestatic

◆ circular_less_than()

template<typename T >
static bool moodycamel::details::circular_less_than ( a,
b 
)
inlinestatic

◆ deref_noexcept()

template<typename It >
static auto moodycamel::details::deref_noexcept ( It &  it) -> decltype(*it)
inlinestatic

◆ hash_thread_id()

static size_t moodycamel::details::hash_thread_id ( thread_id_t  id)
inlinestatic

◆ likely()

static bool() moodycamel::details::likely ( bool  x)
inlinestatic
Here is the caller graph for this function:

◆ nomove()

template<typename T >
static T const& moodycamel::details::nomove ( T const &  x)
inlinestatic

◆ swap_relaxed()

template<typename T >
static void moodycamel::details::swap_relaxed ( std::atomic< T > &  left,
std::atomic< T > &  right 
)
inlinestatic

◆ thread_id()

static thread_id_t moodycamel::details::thread_id ( )
inlinestatic

◆ unlikely()

static bool() moodycamel::details::unlikely ( bool  x)
inlinestatic

Variable Documentation

◆ invalid_thread_id

const thread_id_t moodycamel::details::invalid_thread_id = 0
static

◆ invalid_thread_id2

const thread_id_t moodycamel::details::invalid_thread_id2
static
Initial value:
=
1