8#include "../jthread.hpp"
9#include "../thread.hpp"
10#include "../thread_id.hpp"
16# include <sys/types.h>
24 [[nodiscard]]
static auto
25 get(
thread& value) -> std::thread::native_handle_type
27 return value.impl_.native_handle();
30#if defined(__cpp_lib_jthread) && __cpp_lib_jthread >= 201911L
31 [[nodiscard]]
static auto
32 get(jthread& value) -> std::jthread::native_handle_type
34 return value.impl_.native_handle();
44[[nodiscard]]
inline auto
47 return ::threadschedule::detail::native_thread_access::get(value);
50#if defined(__cpp_lib_jthread) && __cpp_lib_jthread >= 201911L
51[[nodiscard]]
inline auto
52native_handle(jthread& value) -> std::jthread::native_handle_type
54 return ::threadschedule::detail::native_thread_access::get(value);
64[[nodiscard]]
inline auto
68 auto const maximum =
static_cast<std::uint64_t
>((std::numeric_limits<native_thread_id>::max)());
70 return unexpected(std::make_error_code(std::errc::invalid_argument));
Owning thread wrapper with result-based lifecycle/configuration API.
auto native_handle(thread &value) -> std::thread::native_handle_type
auto native_id(thread_id id) noexcept -> result< native_thread_id >
Aggregates multiple thread_registry_backend instances into a single queryable view.
static auto get(thread &value) -> std::thread::native_handle_type
static constexpr auto value(thread_id id) noexcept -> std::uint64_t