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

Assist with implementing the parallel versions of the standard algorithms. More...

#include <parallel_algorithms.hpp>

Public Types

typedef Fn operation_type
 
typedef operation_type::result_type result_type
 
typedef Conts containers_type
 
typedef containers_type::in_iterator in_iterator
 

Public Member Functions

constexpr for_each_reduce (in_iterator const &b, in_iterator const &e, operation_type &w) FORCE_INLINE
 
void __fastcall process () const FORCE_INLINE
 
constexpr bool __fastcall operator< (for_each_reduce const &) const noexcept(true) FORCE_INLINE
 

Static Public Attributes

static constexpr ppd::generic_traits::memory_access_modes memory_access_mode =ppd::generic_traits::memory_access_modes::crew_memory_access
 

Detailed Description

template<class Conts, typename Fn>
struct jmmcg::ppd::private_::alg_wk_wrap::for_each_reduce< Conts, Fn >

Assist with implementing the parallel versions of the standard algorithms.

Note that this operation should operate on an output range that no-other thread should modify, i.e. that range should have at least a read-lock taken on it.

See also
for_each_work_type
thread_base::for_each
thread_base::alg_wrapper1

Definition at line 204 of file parallel_algorithms.hpp.

Member Typedef Documentation

◆ containers_type

template<class Conts , typename Fn >
typedef Conts jmmcg::ppd::private_::alg_wk_wrap::for_each_reduce< Conts, Fn >::containers_type

Definition at line 207 of file parallel_algorithms.hpp.

◆ in_iterator

template<class Conts , typename Fn >
typedef containers_type::in_iterator jmmcg::ppd::private_::alg_wk_wrap::for_each_reduce< Conts, Fn >::in_iterator

Definition at line 208 of file parallel_algorithms.hpp.

◆ operation_type

template<class Conts , typename Fn >
typedef Fn jmmcg::ppd::private_::alg_wk_wrap::for_each_reduce< Conts, Fn >::operation_type

Definition at line 205 of file parallel_algorithms.hpp.

◆ result_type

template<class Conts , typename Fn >
typedef operation_type::result_type jmmcg::ppd::private_::alg_wk_wrap::for_each_reduce< Conts, Fn >::result_type

Definition at line 206 of file parallel_algorithms.hpp.

Constructor & Destructor Documentation

◆ for_each_reduce()

template<class Conts , typename Fn >
constexpr jmmcg::ppd::private_::alg_wk_wrap::for_each_reduce< Conts, Fn >::for_each_reduce ( in_iterator const &  b,
in_iterator const &  e,
operation_type w 
)
inlineconstexpr

Definition at line 215 of file parallel_algorithms.hpp.

Member Function Documentation

◆ operator<()

template<class Conts , typename Fn >
constexpr bool __fastcall jmmcg::ppd::private_::alg_wk_wrap::for_each_reduce< Conts, Fn >::operator< ( for_each_reduce< Conts, Fn > const &  ) const
inlineconstexprnoexcept

Definition at line 223 of file parallel_algorithms.hpp.

◆ process()

template<class Conts , typename Fn >
void __fastcall jmmcg::ppd::private_::alg_wk_wrap::for_each_reduce< Conts, Fn >::process ( ) const
inline

Definition at line 219 of file parallel_algorithms.hpp.

Member Data Documentation

◆ memory_access_mode

template<class Conts , typename Fn >
constexpr ppd::generic_traits::memory_access_modes jmmcg::ppd::private_::alg_wk_wrap::for_each_reduce< Conts, Fn >::memory_access_mode =ppd::generic_traits::memory_access_modes::crew_memory_access
staticconstexpr

To assist in allowing compile-time computation of the algorithmic order of the threading model.

Definition at line 213 of file parallel_algorithms.hpp.


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