thread_support

See Public API for a list of names and headers that are part of the public HPX API.

Defines

HPX_ASSERT_OWNS_LOCK(l)
HPX_ASSERT_DOESNT_OWN_LOCK(l)
namespace hpx
namespace util
class atomic_count

Public Functions

HPX_NON_COPYABLE(atomic_count)
atomic_count(long value)
atomic_count &operator=(long value)
long operator++()
long operator--()
atomic_count &operator+=(long n)
atomic_count &operator-=(long n)
operator long() const

Private Members

std::atomic<long> value_
namespace hpx
namespace util

Functions

void set_thread_name(char const*)

Defines

HPX_CORE_EXPORT_THREAD_SPECIFIC_PTR
namespace hpx
namespace util
template<typename T, typename Tag>
struct thread_specific_ptr

Public Types

typedef T element_type

Public Functions

T *get() const
T *operator->() const
T &operator*() const
void reset(T *new_value = nullptr)

Private Static Attributes

thread_local T *ptr_ = nullptr
namespace hpx
namespace util
template<typename Mutex>
class unlock_guard

Public Types

template<>
using mutex_type = Mutex

Public Functions

HPX_NON_COPYABLE(unlock_guard)
unlock_guard(Mutex &m)
~unlock_guard()

Private Members

Mutex &m_