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

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

#include <parallel_algorithms.hpp>

Public Types

typedef void result_type
 
typedef Op operation_type
 

Public Member Functions

constexpr transform_work_type () noexcept(true) FORCE_INLINE
 
constexpr transform_work_type (operation_type const &o) noexcept(true) FORCE_INLINE
 
constexpr void __fastcall process () noexcept(true) FORCE_INLINE
 
constexpr bool __fastcall operator< (transform_work_type const &) const noexcept(true) FORCE_INLINE
 

Static Public Member Functions

template<class CoreWk >
static void FORCE_INLINE resize_output (CoreWk &wk) noexcept(false)
 

Public Attributes

operation_type op
 

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 Op>
struct jmmcg::ppd::private_::alg_wk_wrap::transform_work_type< Op >

Assist with implementing the parallel versions of the standard algorithms.

See also
for_each_reduce

Definition at line 162 of file parallel_algorithms.hpp.

Member Typedef Documentation

◆ operation_type

Definition at line 164 of file parallel_algorithms.hpp.

◆ result_type

Definition at line 163 of file parallel_algorithms.hpp.

Constructor & Destructor Documentation

◆ transform_work_type() [1/2]

template<class Op >
constexpr jmmcg::ppd::private_::alg_wk_wrap::transform_work_type< Op >::transform_work_type ( )
inlineconstexprnoexcept

Definition at line 176 of file parallel_algorithms.hpp.

◆ transform_work_type() [2/2]

template<class Op >
constexpr jmmcg::ppd::private_::alg_wk_wrap::transform_work_type< Op >::transform_work_type ( operation_type const &  o)
inlineexplicitconstexprnoexcept

Definition at line 178 of file parallel_algorithms.hpp.

Member Function Documentation

◆ operator<()

template<class Op >
constexpr bool __fastcall jmmcg::ppd::private_::alg_wk_wrap::transform_work_type< Op >::operator< ( transform_work_type< Op > const &  ) const
inlineconstexprnoexcept

Definition at line 185 of file parallel_algorithms.hpp.

◆ process()

template<class Op >
constexpr void __fastcall jmmcg::ppd::private_::alg_wk_wrap::transform_work_type< Op >::process ( )
inlineconstexprnoexcept

Definition at line 182 of file parallel_algorithms.hpp.

◆ resize_output()

template<class Op >
template<class CoreWk >
static void FORCE_INLINE jmmcg::ppd::private_::alg_wk_wrap::transform_work_type< Op >::resize_output ( CoreWk &  wk)
inlinestaticnoexcept

Definition at line 190 of file parallel_algorithms.hpp.

Member Data Documentation

◆ memory_access_mode

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

Definition at line 169 of file parallel_algorithms.hpp.

◆ op

Need this to be non-const, in case pointer-types get stuffed in here, otherwise the compiler will complain (not unreasonably) about the const-ness.

Definition at line 174 of file parallel_algorithms.hpp.


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