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

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

#include <parallel_algorithms.hpp>

Public Types

typedef CtrPred operation_type
 
typedef operation_type::result_type result_type
 
typedef Conts containers_type
 
typedef containers_type::in_iterator in_iterator
 

Public Member Functions

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

Static Public Attributes

static constexpr ppd::generic_traits::memory_access_modes memory_access_mode
 

Detailed Description

template<class Conts, typename CtrPred>
struct jmmcg::ppd::private_::alg_wk_wrap::count_if_reduce< Conts, CtrPred >

Assist with implementing the parallel versions of the standard algorithms.

Implements a reduction operation. 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
countor_work_type
thread_base::count_if_t
thread_base::alg_wrapper1

Definition at line 275 of file parallel_algorithms.hpp.

Member Typedef Documentation

◆ containers_type

template<class Conts , typename CtrPred >
typedef Conts jmmcg::ppd::private_::alg_wk_wrap::count_if_reduce< Conts, CtrPred >::containers_type

Definition at line 278 of file parallel_algorithms.hpp.

◆ in_iterator

template<class Conts , typename CtrPred >
typedef containers_type::in_iterator jmmcg::ppd::private_::alg_wk_wrap::count_if_reduce< Conts, CtrPred >::in_iterator

Definition at line 279 of file parallel_algorithms.hpp.

◆ operation_type

template<class Conts , typename CtrPred >
typedef CtrPred jmmcg::ppd::private_::alg_wk_wrap::count_if_reduce< Conts, CtrPred >::operation_type

Definition at line 276 of file parallel_algorithms.hpp.

◆ result_type

template<class Conts , typename CtrPred >
typedef operation_type::result_type jmmcg::ppd::private_::alg_wk_wrap::count_if_reduce< Conts, CtrPred >::result_type

Definition at line 277 of file parallel_algorithms.hpp.

Constructor & Destructor Documentation

◆ count_if_reduce()

template<class Conts , typename CtrPred >
constexpr jmmcg::ppd::private_::alg_wk_wrap::count_if_reduce< Conts, CtrPred >::count_if_reduce ( in_iterator const &  b,
in_iterator const &  e,
operation_type w 
)
inlineconstexprnoexcept

Definition at line 290 of file parallel_algorithms.hpp.

Member Function Documentation

◆ operator<()

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

Definition at line 296 of file parallel_algorithms.hpp.

◆ process()

Member Data Documentation

◆ memory_access_mode

template<class Conts , typename CtrPred >
constexpr ppd::generic_traits::memory_access_modes jmmcg::ppd::private_::alg_wk_wrap::count_if_reduce< Conts, CtrPred >::memory_access_mode
staticconstexpr
Initial value:

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

Definition at line 284 of file parallel_algorithms.hpp.


The documentation for this struct was generated from the following files:
jmmcg::ppd::generic_traits::memory_access_modes::erew_memory_access
Exclusive-Read, Exclusive-Write memory access.
jmmcg::ppd::generic_traits::memory_access_modes::crew_memory_access
Concurrent-Read, Exclusive-Write memory access.