|
struct | add_ref_if_not_void |
| The execution_context may need to avoid dereferencing if the result_type it contains is void. More...
|
|
struct | add_ref_if_not_void< void > |
|
struct | add_ref_if_not_void< void const > |
|
class | alg_wrapper1 |
| Assist with implementing the parallel versions of the standard algorithms. More...
|
|
class | alg_wrapper1< P, Wk, generic_traits::return_data::nonjoinable > |
|
class | alg_wrapper2 |
| Assist with implementing the parallel versions of the standard algorithms. More...
|
|
class | alg_wrapper2< P, Wk, generic_traits::return_data::nonjoinable > |
|
class | alg_wrapper3 |
| Assist with implementing the parallel versions of the standard algorithms. More...
|
|
class | alg_wrapper3< P, Wk, generic_traits::return_data::nonjoinable > |
|
class | batch_details |
| A class to assist in processing the core_work in the GSS(k) batch, ensuring that items within a batch in a thread are fully processed before any wait in that thread is performed, because we could deadlock. More...
|
|
class | batch_details< 1UL, WQ, Stats > |
| Optimisation for when GSS(k)=GSS(1), i.e. no batching. More...
|
|
class | binary_fun_work_type |
| An adaptor to allow STL binary functions to be operated upon in the thread_pool. More...
|
|
struct | choose_process_fn |
|
struct | choose_process_fn< std::false_type, PFP, Wk, CFG > |
|
class | cliques_t |
|
class | cliques_t< joinable_t< TPB > > |
|
class | cliques_t< nonjoinable_t< TPB > > |
|
class | counted_event |
|
struct | crack_process_fn_traits |
|
struct | crack_process_fn_traits< void(__fastcall Cls::*)() const noexcept(NoExcept), CFG > |
|
struct | crack_process_fn_traits< void(__fastcall Cls::*)() noexcept(NoExcept), CFG > |
|
struct | crack_process_fn_traits< void(__fastcall Cls::*)(ResT &) const noexcept(NoExcept), CFG > |
|
struct | crack_process_fn_traits< void(__fastcall Cls::*)(ResT &) noexcept(NoExcept), CFG > |
|
struct | crack_process_fn_traits< void(__fastcall Cls::*)(ResT &, A2 const &) const noexcept(NoExcept), CFG > |
|
struct | crack_process_fn_traits< void(__fastcall Cls::*)(ResT &, A2 const &) noexcept(NoExcept), CFG > |
|
struct | create_direct |
| This library-internal class just creates a thread_wk_t for the user's closure_base-derived closure. More...
|
|
struct | def_key_compare |
|
struct | def_key_compare< no_op, V > |
|
class | ensure_wk_complete |
|
class | eraseable_execution_context_base |
|
class | eval_shared_deleter_t |
| Ensure that the deleter is not called for work that is stack-allocated. More...
|
|
class | execution_context_algo_buff_stack_type |
|
class | execution_context_algo_buff_stack_type< DM, generic_traits::return_data::nonjoinable, AlgCoreWk, GenWk, Wk, Deref, InitCoreWk > |
| Ensure that the compiler emits an error if attempting to non-joinably create an execution context. More...
|
|
class | execution_context_algo_buff_stack_type< pool_traits::work_distribution_mode_t::one_thread_distributes<>, generic_traits::return_data::joinable, AlgCoreWk, GenWk, Wk, Deref, InitCoreWk > |
| Enforce a sequential-consistency memory-model on the result data that this object manages, via the accessors to the result data. More...
|
|
class | execution_context_algo_buff_stack_type< pool_traits::work_distribution_mode_t::worker_threads_get_work< typename GenWk::thread_pool_type::work_distribution_mode::queue_model >, generic_traits::return_data::joinable, AlgCoreWk, GenWk, Wk, Deref, InitCoreWk > |
| Enforce a sequential-consistency memory-model on the result data that this object manages, via the accessors to the result data, but also allow horizontal threading: if the object being managed has not yet had its result computed, and the queue in the thread_pool is not empty, process an item from that queue in the mean-time. More...
|
|
class | execution_context_algo_stack_type |
|
class | execution_context_algo_stack_type< DM, generic_traits::return_data::nonjoinable, TPB, CoreWk, AlgoWrapT, Wk > |
| Ensure that the compiler emits an error if attempting to non-joinably create an execution context. More...
|
|
class | execution_context_algo_stack_type< pool_traits::work_distribution_mode_t::one_thread_distributes<>, generic_traits::return_data::joinable, TPB, CoreWk, AlgoWrapT, Wk > |
| Enforce a sequential-consistency memory-model on the result data that this object manages, via the accessors to the result data. More...
|
|
class | execution_context_algo_stack_type< pool_traits::work_distribution_mode_t::worker_threads_get_work< typename TPB::work_distribution_mode::queue_model >, generic_traits::return_data::joinable, TPB, CoreWk, AlgoWrapT, Wk > |
| Enforce a sequential-consistency memory-model on the result data that this object manages, via the accessors to the result data, but also allow horizontal threading: if the object being managed has not yet had its result computed, and the queue in the thread_pool is not empty, process an item from that queue in the mean-time. More...
|
|
class | execution_context_stack_type |
|
class | execution_context_stack_type< DM, generic_traits::return_data::nonjoinable, TPB, Wk > |
| Ensure that the compiler emits an error if attempting to non-joinably create an execution context. More...
|
|
class | execution_context_stack_type< pool_traits::work_distribution_mode_t::one_thread_distributes<>, generic_traits::return_data::joinable, TPB, Wk > |
| Enforce a sequential-consistency memory-model on the result data that this object manages, via the accessors to the result data. More...
|
|
class | execution_context_stack_type< pool_traits::work_distribution_mode_t::worker_threads_get_work< typename TPB::work_distribution_mode::queue_model >, generic_traits::return_data::joinable, TPB, Wk > |
| Enforce a sequential-consistency memory-model on the result data that this object manages, via the accessors to the result data, but also allow horizontal threading: if the object being managed has not yet had its result computed, and the queue in the thread_pool is not empty, process an item from that queue in the mean-time. More...
|
|
class | fixed_pool_of_threads |
| This is a low-level collection of pool_thread objects, that is created by one other thread. More...
|
|
class | get_process_fn_traits |
|
class | GSSk_batching |
| This is the batch that the main thread will process. More...
|
|
class | horizontal_execution |
| Class that implements the horizontal execution algorithm. More...
|
|
class | horizontal_execution_itf |
| Interface for allowing an execution context to potentially execute work horizontally whilst the execution_context is held, so that we both ensure that we keep the cores busy, but also avoid deadlock due to resource starvation from a lack of available threads to process input_work (tasks) from the signalled_work_queue in the thread_pool_type. More...
|
|
struct | input_safe_colln |
|
struct | input_safe_range |
|
class | joinable_t |
| A modifier to allow joinably transferring the work to the pool. More...
|
|
struct | largest_par_alg_obj |
|
class | mstr_accumulate_across_threads |
|
class | mstr_accumulate_across_threads< no_statistics< T > > |
|
struct | no_op |
|
class | nonjoinable_buff_t |
|
class | nonjoinable_t |
| A modifier to allow non-joinably transferring the work to the pool. More...
|
|
struct | noop |
|
struct | one_container |
|
struct | one_output_container_rw_lk |
|
struct | one_output_container_simple_lk |
|
class | output_safe_colln_rw_lk |
|
struct | output_safe_colln_simple_lk |
|
struct | output_safe_range |
|
struct | parallel_algorithm |
| The parallel algorithms inherits from this to assist with implementing the cliques_t language element in the DSEL. More...
|
|
struct | pop_front_t |
|
struct | pop_t |
|
class | priority_t |
| A modifier to allow setting the kernel-level priority that will be used by the thread whilst processing the work. More...
|
|
class | priority_t< joinable_t, TPB, Pri > |
|
class | priority_t< nonjoinable_t, TPB, Pri > |
|
struct | remove_shared_ptr |
|
struct | remove_shared_ptr< shared_ptr< V, LkT >, LkT > |
|
class | sequential_pool |
| A specialisation for sequential "threading", i.e. everything runs on the main thread. More...
|
|
class | setter |
| The internal class that does the priority setting and restoration as RAII. More...
|
|
struct | stl_functor_result_type |
|
class | subdivide_n_gen_wk |
| Distribute the input range [begin, end) across the thread_pool_type recursively as a collection of tasks. More...
|
|
class | subdivide_n_gen_wk1 |
|
class | subdivide_n_gen_wk1< pool_traits::size_mode_t::infinite, TPB, Fn, Conts, Alg > |
|
class | subdivide_n_gen_wk2 |
|
class | subdivide_n_gen_wk2< pool_traits::size_mode_t::infinite, TPB, UniOp, Conts, Alg > |
|
class | subdivide_n_gen_wk3 |
|
class | subdivide_n_gen_wk3< pool_traits::size_mode_t::infinite, TPB, BinOp, Conts, Alg > |
|
class | subdivide_n_gen_wk< pool_traits::size_mode_t::infinite, TPB, Alg > |
| Distribute the input range [begin, end) across the thread_pool_type recursively as a collection of tasks. More...
|
|
class | thread_base |
| This class is used to implement a raw class that wraps using a raw thread. More...
|
|
class | thread_pool_base |
| Base class for all multi-threaded thread_pools. More...
|
|
class | thread_pool_queue_model |
| Implements the specifics of how the queue(s) within the thread_pool or pool_threads are implemented. More...
|
|
class | thread_pool_queue_model< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::thread_owns_queue< SM > >, Ps, PTT, Pt > |
| Implements the case when there is a signalled_work_queue contained within each pool_thread, and an algorithm is used to steal work from the pool_thread by other pool_threads. More...
|
|
class | thread_pool_queue_model< QM< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, Ps, PTT, Pt > |
| Implements the case when the signalled_work_queue is contained within the thread_pool & shared by the pool_threads. More...
|
|
struct | three_containers |
|
struct | two_containers |
|
struct | two_out_ranges |
|
struct | two_ranges |
|
class | unary_fun_work_type |
| An adaptor to allow STL unary functions to be operated upon in the thread_pool. More...
|
|
class | unlock_collections |
|
class | wrap_boost_bind_t |
| A wrapper for converting a boost::bind() unspecified-object into an object suitable for transferring into a thread_pool. More...
|
|
class | wrap_std_bind_t |
| A wrapper for converting a boost::bind() unspecified-object into an object suitable for transferring into a thread_pool. More...
|
|
class | wrkr_accumulate_across_threads |
|
class | wrkr_accumulate_across_threads< no_statistics< T > > |
|