libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::ppd::private_::sequential_pool< DM, Ps, P >::accumulate_op_processor< Colln, BinOp > Class Template Reference

A modifier to allow joinably transferring the work to the pool. More...

#include <thread_pool.hpp>

Public Types

typedef BinOp operation_type
 
typedef operation_type::result_type accumulated_res_t
 
typedef execution_context_algo_stack< accumulated_res_texecution_context
 

Public Member Functions

 accumulate_op_processor (Colln const &c, accumulated_res_t const &v, operation_type const &op) noexcept(true) FORCE_INLINE
 
execution_context __fastcall process (cliques::element_type, typename pool_traits_type::thread_wk_elem_type::cfg_details_type::params const &) const FORCE_INLINE
 Joinably transfer the predicate to the pool. More...
 

Detailed Description

template<class DM, pool_traits::size_mode_t Ps, typename P>
template<class Colln, typename BinOp>
class jmmcg::ppd::private_::sequential_pool< DM, Ps, P >::accumulate_op_processor< Colln, BinOp >

A modifier to allow joinably transferring the work to the pool.

Definition at line 436 of file thread_pool.hpp.

Member Typedef Documentation

◆ accumulated_res_t

template<class DM, pool_traits::size_mode_t Ps, typename P>
template<class Colln, typename BinOp>
typedef operation_type::result_type jmmcg::ppd::private_::sequential_pool< DM, Ps, P >::accumulate_op_processor< Colln, BinOp >::accumulated_res_t

Definition at line 439 of file thread_pool.hpp.

◆ execution_context

template<class DM, pool_traits::size_mode_t Ps, typename P>
template<class Colln, typename BinOp>
typedef execution_context_algo_stack<accumulated_res_t> jmmcg::ppd::private_::sequential_pool< DM, Ps, P >::accumulate_op_processor< Colln, BinOp >::execution_context

Definition at line 440 of file thread_pool.hpp.

◆ operation_type

template<class DM, pool_traits::size_mode_t Ps, typename P>
template<class Colln, typename BinOp>
typedef BinOp jmmcg::ppd::private_::sequential_pool< DM, Ps, P >::accumulate_op_processor< Colln, BinOp >::operation_type

Definition at line 438 of file thread_pool.hpp.

Constructor & Destructor Documentation

◆ accumulate_op_processor()

template<class DM, pool_traits::size_mode_t Ps, typename P>
template<class Colln, typename BinOp>
jmmcg::ppd::private_::sequential_pool< DM, Ps, P >::accumulate_op_processor< Colln, BinOp >::accumulate_op_processor ( Colln const &  c,
accumulated_res_t const &  v,
operation_type const &  op 
)
inlinenoexcept
Parameters
cThe adapted collection to iterate over.
vThe value with which the accumulate operation should be initialised.
opThe binary operation to uses to accumulate the result.

Definition at line 447 of file thread_pool.hpp.

Member Function Documentation

◆ process()

template<class DM, pool_traits::size_mode_t Ps, typename P>
template<class Colln, typename BinOp>
execution_context __fastcall jmmcg::ppd::private_::sequential_pool< DM, Ps, P >::accumulate_op_processor< Colln, BinOp >::process ( cliques::element_type  ,
typename pool_traits_type::thread_wk_elem_type::cfg_details_type::params const &   
) const
inline

Joinably transfer the predicate to the pool.

Returns
An execution_context for obtaining the number of matching items in the collection.
See also
execution_context_stack

Definition at line 457 of file thread_pool.hpp.


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