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

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

#include <parallel_algorithms.hpp>

Public Types

typedef Pred operation_type
 
typedef operation_type::result_type result_type
 
typedef Conts containers_type
 
typedef containers_type::in_iterator in_iterator
 
typedef containers_type::out_iterator out_iterator
 

Public Member Functions

constexpr __stdcall swap_ranges_reduce (out_iterator const &b1, in_iterator const &e1, out_iterator const &b2, operation_type const &f) FORCE_INLINE
 
void __fastcall process () FORCE_INLINE
 
constexpr bool __fastcall operator< (swap_ranges_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 Pred>
struct jmmcg::ppd::private_::alg_wk_wrap::swap_ranges_reduce< Conts, Pred >

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::swap_ranges_t
thread_base::alg_wrapper1

Definition at line 736 of file parallel_algorithms.hpp.

Member Typedef Documentation

◆ containers_type

template<class Conts , typename Pred >
typedef Conts jmmcg::ppd::private_::alg_wk_wrap::swap_ranges_reduce< Conts, Pred >::containers_type

Definition at line 739 of file parallel_algorithms.hpp.

◆ in_iterator

template<class Conts , typename Pred >
typedef containers_type::in_iterator jmmcg::ppd::private_::alg_wk_wrap::swap_ranges_reduce< Conts, Pred >::in_iterator

Definition at line 740 of file parallel_algorithms.hpp.

◆ operation_type

template<class Conts , typename Pred >
typedef Pred jmmcg::ppd::private_::alg_wk_wrap::swap_ranges_reduce< Conts, Pred >::operation_type

Definition at line 737 of file parallel_algorithms.hpp.

◆ out_iterator

template<class Conts , typename Pred >
typedef containers_type::out_iterator jmmcg::ppd::private_::alg_wk_wrap::swap_ranges_reduce< Conts, Pred >::out_iterator

Definition at line 741 of file parallel_algorithms.hpp.

◆ result_type

template<class Conts , typename Pred >
typedef operation_type::result_type jmmcg::ppd::private_::alg_wk_wrap::swap_ranges_reduce< Conts, Pred >::result_type

Definition at line 738 of file parallel_algorithms.hpp.

Constructor & Destructor Documentation

◆ swap_ranges_reduce()

template<class Conts , typename Pred >
constexpr __stdcall jmmcg::ppd::private_::alg_wk_wrap::swap_ranges_reduce< Conts, Pred >::swap_ranges_reduce ( out_iterator const &  b1,
in_iterator const &  e1,
out_iterator const &  b2,
operation_type const &  f 
)
inlineconstexpr

Definition at line 748 of file parallel_algorithms.hpp.

Member Function Documentation

◆ operator<()

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

Definition at line 754 of file parallel_algorithms.hpp.

◆ process()

Member Data Documentation

◆ memory_access_mode

template<class Conts , typename Pred >
constexpr ppd::generic_traits::memory_access_modes jmmcg::ppd::private_::alg_wk_wrap::swap_ranges_reduce< Conts, Pred >::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 746 of file parallel_algorithms.hpp.


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