ThreadSchedule 1.0.0
Modern C++ thread management library
Loading...
Searching...
No Matches
threadschedule::ThreadRegistry Class Reference

Classes

class  QueryView

Public Member Functions

 ThreadRegistry (ThreadRegistry const &)=delete
auto operator= (ThreadRegistry const &) -> ThreadRegistry &=delete
void register_current_thread (std::string name=std::string(), std::string componentTag=std::string())
void register_current_thread (std::shared_ptr< ThreadControlBlock > const &controlBlock, std::string name=std::string(), std::string componentTag=std::string())
void unregister_current_thread ()
auto get (Tid tid) const -> std::optional< RegisteredThreadInfo >
auto query () const -> QueryView
template<typename Predicate>
auto filter (Predicate &&pred) const -> QueryView
auto count () const -> size_t
auto empty () const -> bool
template<typename Fn>
void for_each (Fn &&fn) const
template<typename Predicate, typename Fn>
void apply (Predicate &&pred, Fn &&fn) const
template<typename Fn>
auto map (Fn &&fn) const -> std::vector< std::invoke_result_t< Fn, RegisteredThreadInfo const & > >
template<typename Predicate>
auto find_if (Predicate &&pred) const -> std::optional< RegisteredThreadInfo >
template<typename Predicate>
auto any (Predicate &&pred) const -> bool
template<typename Predicate>
auto all (Predicate &&pred) const -> bool
template<typename Predicate>
auto none (Predicate &&pred) const -> bool
auto take (size_t n) const -> QueryView
auto skip (size_t n) const -> QueryView
auto set_affinity (Tid tid, ThreadAffinity const &affinity) const -> expected< void, std::error_code >
auto set_priority (Tid tid, ThreadPriority priority) const -> expected< void, std::error_code >
auto set_scheduling_policy (Tid tid, SchedulingPolicy policy, ThreadPriority priority) const -> expected< void, std::error_code >
auto set_name (Tid tid, std::string const &name) const -> expected< void, std::error_code >
void set_on_register (std::function< void(RegisteredThreadInfo const &)> cb)
void set_on_unregister (std::function< void(RegisteredThreadInfo const &)> cb)

Detailed Description

Definition at line 221 of file thread_registry.hpp.

Member Function Documentation

◆ all()

template<typename Predicate>
auto threadschedule::ThreadRegistry::all ( Predicate && pred) const -> bool
inlinenodiscard

Definition at line 500 of file thread_registry.hpp.

◆ any()

template<typename Predicate>
auto threadschedule::ThreadRegistry::any ( Predicate && pred) const -> bool
inlinenodiscard

Definition at line 494 of file thread_registry.hpp.

◆ apply()

template<typename Predicate, typename Fn>
void threadschedule::ThreadRegistry::apply ( Predicate && pred,
Fn && fn ) const
inline

Definition at line 476 of file thread_registry.hpp.

◆ count()

auto threadschedule::ThreadRegistry::count ( ) const -> size_t
inlinenodiscard

Definition at line 459 of file thread_registry.hpp.

◆ empty()

auto threadschedule::ThreadRegistry::empty ( ) const -> bool
inlinenodiscard

Definition at line 464 of file thread_registry.hpp.

◆ filter()

template<typename Predicate>
auto threadschedule::ThreadRegistry::filter ( Predicate && pred) const -> QueryView
inlinenodiscard

Definition at line 454 of file thread_registry.hpp.

◆ find_if()

template<typename Predicate>
auto threadschedule::ThreadRegistry::find_if ( Predicate && pred) const -> std::optional<RegisteredThreadInfo>
inlinenodiscard

Definition at line 488 of file thread_registry.hpp.

◆ for_each()

template<typename Fn>
void threadschedule::ThreadRegistry::for_each ( Fn && fn) const
inline

Definition at line 470 of file thread_registry.hpp.

◆ get()

auto threadschedule::ThreadRegistry::get ( Tid tid) const -> std::optional<RegisteredThreadInfo>
inlinenodiscard

Definition at line 311 of file thread_registry.hpp.

◆ map()

template<typename Fn>
auto threadschedule::ThreadRegistry::map ( Fn && fn) const -> std::vector<std::invoke_result_t<Fn, RegisteredThreadInfo const&>>
inlinenodiscard

Definition at line 482 of file thread_registry.hpp.

◆ none()

template<typename Predicate>
auto threadschedule::ThreadRegistry::none ( Predicate && pred) const -> bool
inlinenodiscard

Definition at line 506 of file thread_registry.hpp.

◆ query()

auto threadschedule::ThreadRegistry::query ( ) const -> QueryView
inlinenodiscard

Definition at line 441 of file thread_registry.hpp.

◆ register_current_thread() [1/2]

void threadschedule::ThreadRegistry::register_current_thread ( std::shared_ptr< ThreadControlBlock > const & controlBlock,
std::string name = std::string(),
std::string componentTag = std::string() )
inline

Definition at line 260 of file thread_registry.hpp.

◆ register_current_thread() [2/2]

void threadschedule::ThreadRegistry::register_current_thread ( std::string name = std::string(),
std::string componentTag = std::string() )
inline

Definition at line 229 of file thread_registry.hpp.

◆ set_affinity()

auto threadschedule::ThreadRegistry::set_affinity ( Tid tid,
ThreadAffinity const & affinity ) const -> expected<void, std::error_code>
inlinenodiscard

Definition at line 521 of file thread_registry.hpp.

◆ set_name()

auto threadschedule::ThreadRegistry::set_name ( Tid tid,
std::string const & name ) const -> expected<void, std::error_code>
inlinenodiscard

Definition at line 546 of file thread_registry.hpp.

◆ set_on_register()

void threadschedule::ThreadRegistry::set_on_register ( std::function< void(RegisteredThreadInfo const &)> cb)
inline

Definition at line 555 of file thread_registry.hpp.

◆ set_on_unregister()

void threadschedule::ThreadRegistry::set_on_unregister ( std::function< void(RegisteredThreadInfo const &)> cb)
inline

Definition at line 561 of file thread_registry.hpp.

◆ set_priority()

auto threadschedule::ThreadRegistry::set_priority ( Tid tid,
ThreadPriority priority ) const -> expected<void, std::error_code>
inlinenodiscard

Definition at line 529 of file thread_registry.hpp.

◆ set_scheduling_policy()

auto threadschedule::ThreadRegistry::set_scheduling_policy ( Tid tid,
SchedulingPolicy policy,
ThreadPriority priority ) const -> expected<void, std::error_code>
inlinenodiscard

Definition at line 537 of file thread_registry.hpp.

◆ skip()

auto threadschedule::ThreadRegistry::skip ( size_t n) const -> QueryView
inlinenodiscard

Definition at line 516 of file thread_registry.hpp.

◆ take()

auto threadschedule::ThreadRegistry::take ( size_t n) const -> QueryView
inlinenodiscard

Definition at line 511 of file thread_registry.hpp.

◆ unregister_current_thread()

void threadschedule::ThreadRegistry::unregister_current_thread ( )
inline

Definition at line 291 of file thread_registry.hpp.


The documentation for this class was generated from the following file: