|
| 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 > > |
| |