36 name_ = std::move(name);
55 scheduling_ = scheduling;
74 affinity_ = std::move(affinity);
108 return !name_ && !scheduling_ && !affinity_;
112 std::optional<std::string> name_;
113 std::optional<scheduling_config> scheduling_;
114 std::optional<thread_affinity> affinity_;
Immutable scheduling request passed to thread creation/configuration APIs.
Portable thread configuration bundle.
auto get_name() const noexcept -> std::optional< std::string > const &
Return configured thread name if present.
auto clear_name() noexcept -> thread_config &
Clear previously configured thread name.
auto get_scheduling() const noexcept -> std::optional< scheduling_config > const &
Return configured scheduling request if present.
auto set_name(std::string name) -> thread_config &
Set thread name.
auto clear_affinity() noexcept -> thread_config &
Clear previously configured CPU affinity.
auto empty() const noexcept -> bool
Return whether no settings are currently configured.
auto set_affinity(thread_affinity affinity) -> thread_config &
Set CPU affinity mask.
auto clear_scheduling() noexcept -> thread_config &
Clear previously configured scheduling request.
auto set_scheduling(scheduling_config scheduling) noexcept -> thread_config &
Set scheduling configuration.
auto get_affinity() const noexcept -> std::optional< thread_affinity > const &
Return configured affinity set if present.
Portable scheduling intents and priority configuration.
Portable normalized CPU-affinity value type.