|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::largest_par_alg_obj< ParAlg > |
|
class | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::setter< TT, new_priority > |
| The internal class that does the priority setting and restoration as RAII. More...
|
|
class | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::batch_details< GSSkSz, WQ, Stats > |
| 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 | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::batch_details< 1UL, WQ, Stats > |
| Optimisation for when GSS(k)=GSS(1), i.e. no batching. More...
|
|
class | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::horizontal_execution_itf< RD, TPB, Del, AtCtr > |
| 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...
|
|
class | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::eraseable_execution_context_base< TPB, Del, AtCtr > |
|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::add_ref_if_not_void< Ret > |
| The execution_context may need to avoid dereferencing if the result_type it contains is void. More...
|
|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::add_ref_if_not_void< void > |
|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::add_ref_if_not_void< void const > |
|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::deref::noop< ExCxt > |
| Just dereference the execution_context as normal. More...
|
|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::deref::extra< ExCxt > |
| Ensure that when the execution_context is dereferenced to obtain the result any extra dereferences are done as necessary, for example if it is a boolean. More...
|
|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::deref::extra_deref< ExCxt > |
| Ensure that when the execution_context is dereferenced to obtain the result any extra dereferences are done as necessary, for example if it is a count. More...
|
|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::core_work_result::noop< CoreWk > |
| Don't initialise the result of the execution_context. More...
|
|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::core_work_result::to_zero< CoreWk > |
| Default initialise the result of the execution_context. More...
|
|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::core_work_result::to_false< CoreWk > |
| Default initialise the boolean result of the execution_context to false. More...
|
|
struct | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::core_work_result::to_op< CoreWk > |
| Initialise the result of the execution_context with the provided value from the input initialisation value from the core_work. More...
|
|
class | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::horizontal_execution< RD, TPB, Del, AtCtr > |
| Class that implements the horizontal execution algorithm. More...
|
|
class | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::horizontal_execution< RD, TPB, Del, AtCtr >::execute_any_work_horizontally::scoped |
|
class | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::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 | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::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 | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::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 | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::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 | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::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 | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::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 | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::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 | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::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 | jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::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...
|
|