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

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

#include <parallel_algorithms.hpp>

Classes

class  sort
 

Public Types

typedef Comp operation_type
 
typedef operation_type::argument_type::thread_pool_type thread_pool_type
 
typedef thread_pool_type::pool_traits_type pool_traits_type
 
typedef operation_type::result_type result_type
 
typedef Conts containers_type
 
typedef containers_type::in_iterator in_iterator
 
typedef batchers_bitonic_merge_reduce< three_containers< typename containers_type::input_t::container_type, typename containers_type::input_t::container_type, typename containers_type::input_t::container_type >, Comp > merge_t
 
typedef sort< direction::ascendinginit_sorter_t
 

Public Member Functions

constexpr bitonic_sort_reduce (containers_type &c, operation_type const &op, cliques::element_type const cl) noexcept(true) FORCE_INLINE
 
virtual ~bitonic_sort_reduce () noexcept(true) FORCE_INLINE
 
void __fastcall process () const FORCE_INLINE
 
constexpr bool __fastcall operator< (bitonic_sort_reduce const &) const noexcept(true) FORCE_INLINE
 

Static Public Attributes

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

Detailed Description

template<typename Conts, class Comp>
struct jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >

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.

[1] \see sort_work_type \see thread_base::sort_t \see thread_base::alg_wrapper1

Definition at line 964 of file parallel_algorithms.hpp.

Member Typedef Documentation

◆ containers_type

template<typename Conts , class Comp >
typedef Conts jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::containers_type

Definition at line 969 of file parallel_algorithms.hpp.

◆ in_iterator

template<typename Conts , class Comp >
typedef containers_type::in_iterator jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::in_iterator

Definition at line 970 of file parallel_algorithms.hpp.

◆ init_sorter_t

template<typename Conts , class Comp >
typedef sort<direction::ascending> jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::init_sorter_t

Definition at line 973 of file parallel_algorithms.hpp.

◆ merge_t

◆ operation_type

template<typename Conts , class Comp >
typedef Comp jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::operation_type

Definition at line 965 of file parallel_algorithms.hpp.

◆ pool_traits_type

template<typename Conts , class Comp >
typedef thread_pool_type::pool_traits_type jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::pool_traits_type

Definition at line 967 of file parallel_algorithms.hpp.

◆ result_type

template<typename Conts , class Comp >
typedef operation_type::result_type jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::result_type

Definition at line 968 of file parallel_algorithms.hpp.

◆ thread_pool_type

template<typename Conts , class Comp >
typedef operation_type::argument_type::thread_pool_type jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::thread_pool_type

Definition at line 966 of file parallel_algorithms.hpp.

Constructor & Destructor Documentation

◆ bitonic_sort_reduce()

template<typename Conts , class Comp >
constexpr jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::bitonic_sort_reduce ( containers_type c,
operation_type const &  op,
cliques::element_type const  cl 
)
inlineconstexprnoexcept

Definition at line 438 of file parallel_algorithms_impl.hpp.

◆ ~bitonic_sort_reduce()

template<typename Conts , class Comp >
virtual jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::~bitonic_sort_reduce ( )
inlinevirtualnoexcept

Definition at line 982 of file parallel_algorithms.hpp.

Member Function Documentation

◆ operator<()

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

Definition at line 987 of file parallel_algorithms.hpp.

◆ process()

template<typename Conts , class Comp >
void jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::process ( ) const
inline

Definition at line 443 of file parallel_algorithms_impl.hpp.

Member Data Documentation

◆ memory_access_mode

template<typename Conts , class Comp >
constexpr ppd::generic_traits::memory_access_modes jmmcg::ppd::private_::alg_wk_wrap::bitonic_sort_reduce< Conts, Comp >::memory_access_mode =init_sorter_t::memory_access_mode
staticconstexpr

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

Definition at line 979 of file parallel_algorithms.hpp.


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