hpx/coroutines/thread_id_type.hpp#

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

template<>
struct std::hash<::hpx::threads::thread_id>#

Public Functions

inline std::size_t operator()(::hpx::threads::thread_id const &v) const noexcept#
template<>
struct std::hash<::hpx::threads::thread_id_ref>#

Public Functions

inline std::size_t operator()(::hpx::threads::thread_id_ref const &v) const noexcept#
namespace hpx
namespace threads

Enums

enum class thread_id_addref#

Values:

enumerator yes#
enumerator no#

Variables

constexpr const thread_id invalid_thread_id#
struct thread_id#

Public Functions

thread_id() noexcept = default#
thread_id(thread_id const&) = default#
thread_id &operator=(thread_id const&) = default#
inline constexpr thread_id(thread_id &&rhs) noexcept#
inline constexpr thread_id &operator=(thread_id &&rhs) noexcept#
inline explicit constexpr thread_id(thread_id_repr const &thrd) noexcept#
inline constexpr thread_id &operator=(thread_id_repr const &rhs) noexcept#
inline explicit constexpr operator bool() const noexcept#
inline constexpr thread_id_repr get() const noexcept#
inline constexpr void reset() noexcept#

Private Types

using thread_id_repr = void*#

Private Members

thread_id_repr thrd_ = nullptr#

Friends

inline friend constexpr friend bool operator== (std::nullptr_t, thread_id const &rhs) noexcept
inline friend constexpr friend bool operator!= (std::nullptr_t, thread_id const &rhs) noexcept
inline friend constexpr friend bool operator== (thread_id const &lhs, std::nullptr_t) noexcept
inline friend constexpr friend bool operator!= (thread_id const &lhs, std::nullptr_t) noexcept
inline friend constexpr friend bool operator== (thread_id const &lhs, thread_id const &rhs) noexcept
inline friend constexpr friend bool operator!= (thread_id const &lhs, thread_id const &rhs) noexcept
inline friend constexpr friend bool operator< (thread_id const &lhs, thread_id const &rhs) noexcept
inline friend constexpr friend bool operator> (thread_id const &lhs, thread_id const &rhs) noexcept
inline friend constexpr friend bool operator<= (thread_id const &lhs, thread_id const &rhs) noexcept
inline friend constexpr friend bool operator>= (thread_id const &lhs, thread_id const &rhs) noexcept
template<typename Char, typename Traits>
inline friend std::basic_ostream<Char, Traits> &operator<<(std::basic_ostream<Char, Traits> &os, thread_id const &id)#
inline friend void format_value(std::ostream &os, boost::string_ref spec, thread_id const &id)#
struct thread_id_ref#

Public Types

using thread_repr = detail::thread_data_reference_counting#

Public Functions

thread_id_ref() noexcept = default#
thread_id_ref(thread_id_ref const&) = default#
thread_id_ref &operator=(thread_id_ref const&) = default#
thread_id_ref(thread_id_ref &&rhs) noexcept = default#
thread_id_ref &operator=(thread_id_ref &&rhs) noexcept = default#
inline explicit thread_id_ref(thread_id_repr const &thrd) noexcept#
inline explicit thread_id_ref(thread_id_repr &&thrd) noexcept#
inline thread_id_ref &operator=(thread_id_repr const &rhs) noexcept#
inline thread_id_ref &operator=(thread_id_repr &&rhs) noexcept#
inline explicit thread_id_ref(thread_repr *thrd, thread_id_addref addref = thread_id_addref::yes) noexcept#
inline thread_id_ref &operator=(thread_repr *rhs) noexcept#
inline thread_id_ref(thread_id const &noref)#
inline thread_id_ref(thread_id &&noref) noexcept#
inline thread_id_ref &operator=(thread_id const &noref)#
inline thread_id_ref &operator=(thread_id &&noref) noexcept#
inline explicit operator bool() const noexcept#
inline thread_id noref() const noexcept#
inline thread_id_repr &get() & noexcept#
inline thread_id_repr &&get() && noexcept#
inline thread_id_repr const &get() const & noexcept#
inline void reset() noexcept#
inline void reset(thread_repr *thrd, bool add_ref = true) noexcept#
inline constexpr thread_repr *detach() noexcept#

Private Types

using thread_id_repr = hpx::intrusive_ptr<detail::thread_data_reference_counting>#

Private Members

thread_id_repr thrd_#

Friends

inline friend bool operator==(std::nullptr_t, thread_id_ref const &rhs) noexcept#
inline friend bool operator!=(std::nullptr_t, thread_id_ref const &rhs) noexcept#
inline friend bool operator==(thread_id_ref const &lhs, std::nullptr_t) noexcept#
inline friend bool operator!=(thread_id_ref const &lhs, std::nullptr_t) noexcept#
inline friend bool operator==(thread_id_ref const &lhs, thread_id_ref const &rhs) noexcept#
inline friend bool operator!=(thread_id_ref const &lhs, thread_id_ref const &rhs) noexcept#
inline friend bool operator<(thread_id_ref const &lhs, thread_id_ref const &rhs) noexcept#
inline friend bool operator>(thread_id_ref const &lhs, thread_id_ref const &rhs) noexcept#
inline friend bool operator<=(thread_id_ref const &lhs, thread_id_ref const &rhs) noexcept#
inline friend bool operator>=(thread_id_ref const &lhs, thread_id_ref const &rhs) noexcept#
template<typename Char, typename Traits>
inline friend std::basic_ostream<Char, Traits> &operator<<(std::basic_ostream<Char, Traits> &os, thread_id_ref const &id)#
inline friend void format_value(std::ostream &os, boost::string_ref spec, thread_id_ref const &id)#
namespace std#
template<> thread_id >

Public Functions

inline std::size_t operator()(::hpx::threads::thread_id const &v) const noexcept#
template<> thread_id_ref >

Public Functions

inline std::size_t operator()(::hpx::threads::thread_id_ref const &v) const noexcept#