libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::ppd::private_::largest_par_alg_obj< ParAlg > Struct Template Reference

#include <thread_client_context.hpp>

Public Types

typedef ParAlg gen_wk_t
 
typedef gen_wk_t::thread_pool_type::template create_direct< gen_wk_tsubdiv_algo_work_creator_t
 
typedef gen_wk_t::pool_traits_type::template thread_wk< generic_traits::return_data::nonjoinable, typename subdiv_algo_work_creator_t::closure_t, typename gen_wk_t::os_traits::lock_traits::anon_event_type, placement_dtor, gen_wk_t::thread_pool_type::os_traits::lock_traits::template atomic_counter_type > subdiv_algo_work_t
 
typedef gen_wk_t::thread_pool_type::template create_direct< typename gen_wk_t::alg_wrap_t > alg_wrap_creator_t
 
typedef gen_wk_t::pool_traits_type::template thread_wk< generic_traits::return_data::nonjoinable, typename alg_wrap_creator_t::closure_t, typename gen_wk_t::os_traits::lock_traits::anon_event_type, placement_dtor, gen_wk_t::thread_pool_type::os_traits::lock_traits::template atomic_counter_type > alg_wrap_work_t
 
typedef std::conditional<(sizeof(subdiv_algo_work_t)>sizeof(alg_wrap_work_t)), subdiv_algo_work_t, alg_wrap_work_t >::type type
 

Detailed Description

template<class ParAlg>
struct jmmcg::ppd::private_::largest_par_alg_obj< ParAlg >

Compute the static size of the largest object allocated in the subdivide_n_gen_wk* algorithms, including itself. This is used to compute the size of the memory buffer allocated in algo_thread_wk_buffered into which the objects will be placement new'd.

Definition at line 93 of file thread_client_context.hpp.

Member Typedef Documentation

◆ alg_wrap_creator_t

template<class ParAlg >
typedef gen_wk_t::thread_pool_type::template create_direct<typename gen_wk_t::alg_wrap_t> jmmcg::ppd::private_::largest_par_alg_obj< ParAlg >::alg_wrap_creator_t

Definition at line 97 of file thread_client_context.hpp.

◆ alg_wrap_work_t

template<class ParAlg >
typedef gen_wk_t::pool_traits_type::template thread_wk<generic_traits::return_data::nonjoinable, typename alg_wrap_creator_t::closure_t, typename gen_wk_t::os_traits::lock_traits::anon_event_type, placement_dtor, gen_wk_t::thread_pool_type::os_traits::lock_traits::template atomic_counter_type> jmmcg::ppd::private_::largest_par_alg_obj< ParAlg >::alg_wrap_work_t

Definition at line 98 of file thread_client_context.hpp.

◆ gen_wk_t

template<class ParAlg >
typedef ParAlg jmmcg::ppd::private_::largest_par_alg_obj< ParAlg >::gen_wk_t

Definition at line 94 of file thread_client_context.hpp.

◆ subdiv_algo_work_creator_t

template<class ParAlg >
typedef gen_wk_t::thread_pool_type::template create_direct<gen_wk_t> jmmcg::ppd::private_::largest_par_alg_obj< ParAlg >::subdiv_algo_work_creator_t

Definition at line 95 of file thread_client_context.hpp.

◆ subdiv_algo_work_t

template<class ParAlg >
typedef gen_wk_t::pool_traits_type::template thread_wk<generic_traits::return_data::nonjoinable, typename subdiv_algo_work_creator_t::closure_t, typename gen_wk_t::os_traits::lock_traits::anon_event_type, placement_dtor, gen_wk_t::thread_pool_type::os_traits::lock_traits::template atomic_counter_type> jmmcg::ppd::private_::largest_par_alg_obj< ParAlg >::subdiv_algo_work_t

Definition at line 96 of file thread_client_context.hpp.

◆ type

template<class ParAlg >
typedef std::conditional<(sizeof(subdiv_algo_work_t)>sizeof(alg_wrap_work_t)), subdiv_algo_work_t, alg_wrap_work_t>::type jmmcg::ppd::private_::largest_par_alg_obj< ParAlg >::type

Definition at line 99 of file thread_client_context.hpp.


The documentation for this struct was generated from the following file: