ThreadSchedule 3.0.0
Modern C++ thread management library
Loading...
Searching...
No Matches
thread_backend.hpp File Reference

C++17 thread wrappers and non-owning views. More...

#include "../expected.hpp"
#include "scheduling/native.hpp"
#include <condition_variable>
#include <functional>
#include <memory>
#include <mutex>
#include <optional>
#include <string>
#include <thread>
#include <tuple>
#include <sys/prctl.h>
#include <sys/resource.h>
#include <sys/syscall.h>
#include <unistd.h>
Include dependency graph for thread_backend.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  threadschedule::detail::thread_identity_state
 
struct  threadschedule::detail::owning_tag
 Tag type selecting owning (value) storage in thread_storage. More...
 
struct  threadschedule::detail::non_owning_tag
 Tag type selecting non-owning (pointer) storage in thread_storage. More...
 
class  threadschedule::detail::thread_storage< ThreadType, owning_tag >
 Owning thread storage - holds the thread object by value. More...
 
class  threadschedule::detail::thread_storage< ThreadType, non_owning_tag >
 Non-owning thread storage - holds a raw pointer to an external thread. More...
 
class  threadschedule::detail::basic_thread_backend< ThreadType, OwnershipTag >
 Polymorphic base providing common thread management operations. More...
 
class  threadschedule::detail::thread_backend
 Owning wrapper around std::thread with RAII join-on-destroy semantics. More...
 
class  threadschedule::detail::thread_view_backend
 Non-owning view over an externally managed std::thread. More...
 
class  threadschedule::detail::thread_info
 Lightweight handle for querying and controlling a specific OS thread. More...
 

Namespaces

namespace  threadschedule
 
namespace  threadschedule::detail
 Aggregates multiple thread_registry_backend instances into a single queryable view.
 

Functions

auto threadschedule::detail::current_native_thread_id () noexcept -> native_thread_id
 
template<typename ThreadLike >
auto threadschedule::detail::configure_thread (ThreadLike &thread, std::string const &name, native_scheduling_policy policy, native_thread_priority priority) -> expected< void, std::error_code >
 
template<typename ThreadLike >
auto threadschedule::detail::configure_thread (ThreadLike &thread, native_thread_config const &config) -> expected< void, std::error_code >
 

Detailed Description

C++17 thread wrappers and non-owning views.

Definition in file thread_backend.hpp.