thread_support

The contents of this module can be included with the header hpx/modules/thread_support.hpp. These headers may be used by user-code but are not guaranteed stable (neither header location nor contents). You are using these at your own risk. If you wish to use non-public functionality from a module we strongly suggest only including the module header hpx/modules/thread_support.hpp, not the particular header in which the functionality you would like to use is defined. See Public API for a list of names that are part of the public HPX API.

Header hpx/thread_support/assert_owns_lock.hpp

Defines

HPX_ASSERT_OWNS_LOCK(l)
HPX_ASSERT_DOESNT_OWN_LOCK(l)

Header hpx/thread_support/atomic_count.hpp

namespace hpx
namespace util
class atomic_count
#include <atomic_count.hpp>

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_

Header hpx/thread_support/set_thread_name.hpp

namespace hpx
namespace util

Functions

void set_thread_name(char const*)

Header hpx/thread_support/thread_specific_ptr.hpp

Defines

HPX_EXPORT_THREAD_SPECIFIC_PTR

Header hpx/thread_support/unlock_guard.hpp

namespace hpx
namespace util
template<typename Mutex>
class unlock_guard
#include <unlock_guard.hpp>

Public Types

template<>
using mutex_type = Mutex

Public Functions

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

Private Members

Mutex &m_