Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::Common::Core::details Namespace Reference

Classes

struct  _hash_32_or_64
 
struct  _hash_32_or_64< 1 >
 
struct  ConcurrentQueueProducerTypelessBase
 
struct  const_numeric_max
 
struct  hash_32_or_64
 
struct  identity
 
struct  is_trivially_destructible
 
union  max_align_t
 
struct  nomove_if
 
struct  nomove_if< false >
 
struct  static_is_lock_free
 
struct  static_is_lock_free< bool >
 
struct  static_is_lock_free< U * >
 
struct  static_is_lock_free_num
 
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
 
struct  ThreadExitListener
 
class  ThreadExitNotifier
 

Typedefs

typedef std::uint32_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) noexcept -> decltype(*it)
 

Variables

static const thread_id_t invalid_thread_id = 0
 
static const thread_id_t invalid_thread_id2 = 0xFFFFFFFFU
 

Typedef Documentation

◆ std_max_align_t

◆ thread_id_t

Function Documentation

◆ align_for()

template<typename U >
static char * Harlinn::Common::Core::details::align_for ( char * ptr)
inlinestatic

◆ ceil_to_pow_2()

template<typename T >
static T Harlinn::Common::Core::details::ceil_to_pow_2 ( T x)
inlinestatic

◆ circular_less_than()

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

◆ deref_noexcept()

template<typename It >
static auto Harlinn::Common::Core::details::deref_noexcept ( It & it) -> decltype( *it )
inlinestaticnoexcept

◆ hash_thread_id()

static size_t Harlinn::Common::Core::details::hash_thread_id ( thread_id_t id)
inlinestatic

◆ likely()

static bool Harlinn::Common::Core::details::likely ( bool x)
inlinestatic

◆ nomove()

template<typename T >
static T const & Harlinn::Common::Core::details::nomove ( T const & x)
inlinestatic

◆ swap_relaxed()

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

◆ thread_id()

static thread_id_t Harlinn::Common::Core::details::thread_id ( )
inlinestatic

◆ unlikely()

static bool Harlinn::Common::Core::details::unlikely ( bool x)
inlinestatic

Variable Documentation

◆ invalid_thread_id

const thread_id_t Harlinn::Common::Core::details::invalid_thread_id = 0
static

◆ invalid_thread_id2

const thread_id_t Harlinn::Common::Core::details::invalid_thread_id2 = 0xFFFFFFFFU
static