Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
Loading...
Searching...
No Matches
template_helpers.h File Reference

Template metaprogramming utilities for typed_thread_pool module. More...

#include "type_traits.h"
#include <type_traits>
#include <utility>
#include <tuple>
#include <functional>
Include dependency graph for template_helpers.h:

Go to the source code of this file.

Classes

struct  kcenon::thread::detail::has_priority_method< T, typename >
 SFINAE helper to detect if a type has a specific member function. More...
 
struct  kcenon::thread::detail::has_priority_method< T, std::void_t< decltype(std::declval< T >().priority())> >
 
struct  kcenon::thread::detail::has_do_work_method< T, typename >
 SFINAE helper to detect if a type has a do_work method. More...
 
struct  kcenon::thread::detail::has_do_work_method< T, std::void_t< decltype(std::declval< T >().do_work())> >
 
struct  kcenon::thread::detail::job_type_extractor< Job >
 Template to extract job type from job classes. More...
 
struct  kcenon::thread::detail::job_type_extractor< T >
 
struct  kcenon::thread::detail::is_compatible_job< Job, ExpectedJobType >
 Compile-time job validation. More...
 
struct  kcenon::thread::detail::is_compatible_job< Job, ExpectedJobType >
 
struct  kcenon::thread::detail::function_traits< R(*)(Args...)>
 
struct  kcenon::thread::detail::function_traits< R(C::*)(Args...)>
 
struct  kcenon::thread::detail::function_traits< R(C::*)(Args...) const >
 
struct  kcenon::thread::detail::function_traits< F >
 Type trait for function signature analysis. More...
 
struct  kcenon::thread::detail::constexpr_string< N >
 Constexpr string utilities for compile-time job naming. More...
 
struct  kcenon::thread::detail::priority_comparator< T, Comparator >
 Priority comparison helper with custom comparison functions. More...
 
struct  kcenon::thread::detail::conditional_feature< Condition >
 Template for conditional compilation based on feature flags. More...
 
struct  kcenon::thread::detail::job_type_list< Types >
 Variadic template helper for job type lists. More...
 
class  kcenon::thread::detail::job_eraser
 Type erasure helper for heterogeneous job storage. More...
 
struct  kcenon::thread::detail::job_eraser::vtable_t
 
struct  kcenon::thread::detail::job_validator< Job, ExpectedType >
 Compile-time job validation with detailed error messages. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::thread
 Core threading foundation of the thread system library.
 
namespace  kcenon::thread::detail
 

Typedefs

template<typename Job >
using kcenon::thread::detail::job_type_t = typename job_type_extractor<Job>::type
 

Functions

template<typename F >
constexpr auto kcenon::thread::detail::generate_job_name ()
 Template for automatic job naming based on function signature.
 
template<typename JobType , typename... Args>
constexpr auto kcenon::thread::detail::make_job_args (Args &&... args)
 Perfect forwarding helper for job construction.
 

Variables

template<typename T >
constexpr bool kcenon::thread::detail::has_priority_method_v = has_priority_method<T>::value
 
template<typename T >
constexpr bool kcenon::thread::detail::has_do_work_method_v = has_do_work_method<T>::value
 
template<typename Job , typename ExpectedJobType >
constexpr bool kcenon::thread::detail::is_compatible_job_v = is_compatible_job<Job, ExpectedJobType>::value
 

Detailed Description

Template metaprogramming utilities for typed_thread_pool module.

This file contains advanced template metaprogramming utilities, SFINAE helpers, and compile-time utilities that support the typed thread pool implementation.

Definition in file template_helpers.h.