segmented_algorithms

The contents of this module can be included with the header hpx/modules/segmented_algorithms.hpp. These headers may be used by user-code but are not guaranteed stable (neither header location nor contents). You are using these at your own risk. If you wish to use non-public functionality from a module we strongly suggest only including the module header hpx/modules/segmented_algorithms.hpp, not the particular header in which the functionality you would like to use is defined. See Public API for a list of names that are part of the public HPX API.

namespace hpx
namespace segmented

Functions

template<typename InIter, typename Pred>
InIter tag_dispatch(hpx::adjacent_find_t, InIter first, InIter last, Pred &&pred = Pred())
template<typename ExPolicy, typename SegIter, typename Pred>
hpx::parallel::util::detail::algorithm_result<ExPolicy, SegIter>::type tag_dispatch(hpx::adjacent_find_t, ExPolicy &&policy, SegIter first, SegIter last, Pred &&pred)
namespace hpx
namespace segmented

Functions

template<typename InIter, typename F>
bool tag_dispatch(hpx::none_of_t, InIter first, InIter last, F &&f)
template<typename ExPolicy, typename SegIter, typename F>
hpx::parallel::util::detail::algorithm_result<ExPolicy, bool>::type tag_dispatch(hpx::none_of_t, ExPolicy &&policy, SegIter first, SegIter last, F &&f)
template<typename InIter, typename F>
bool tag_dispatch(hpx::any_of_t, InIter first, InIter last, F &&f)
template<typename ExPolicy, typename SegIter, typename F>
hpx::parallel::util::detail::algorithm_result<ExPolicy, bool>::type tag_dispatch(hpx::any_of_t, ExPolicy &&policy, SegIter first, SegIter last, F &&f)
template<typename InIter, typename F>
bool tag_dispatch(hpx::all_of_t, InIter first, InIter last, F &&f)
template<typename ExPolicy, typename SegIter, typename F>
hpx::parallel::util::detail::algorithm_result<ExPolicy, bool>::type tag_dispatch(hpx::all_of_t, ExPolicy &&policy, SegIter first, SegIter last, F &&f)
namespace hpx
namespace segmented

Functions

template<typename InIter, typename T>
std::iterator_traits<InIter>::difference_type tag_dispatch(hpx::count_t, InIter first, InIter last, T const &value)
template<typename ExPolicy, typename SegIter, typename T>
hpx::parallel::util::detail::algorithm_result<ExPolicy, typename std::iterator_traits<SegIter>::difference_type>::type tag_dispatch(hpx::count_t, ExPolicy &&policy, SegIter first, SegIter last, T const &value)
template<typename InIter, typename F>
std::iterator_traits<InIter>::difference_type tag_dispatch(hpx::count_if_t, InIter first, InIter last, F &&f)
template<typename ExPolicy, typename SegIter, typename F>
hpx::parallel::util::detail::algorithm_result<ExPolicy, typename std::iterator_traits<SegIter>::difference_type>::type tag_dispatch(hpx::count_if_t, ExPolicy &&policy, SegIter first, SegIter last, F &&f)
namespace hpx
namespace segmented

Functions

template<typename InIter, typename OutIter, typename T, typename Op = std::plus<T>>
OutIter tag_dispatch(hpx::exclusive_scan_t, InIter first, InIter last, OutIter dest, T init, Op &&op = Op())
template<typename ExPolicy, typename FwdIter1, typename FwdIter2, typename T, typename Op = std::plus<T>>
parallel::util::detail::algorithm_result<ExPolicy, FwdIter2>::type tag_dispatch(hpx::exclusive_scan_t, ExPolicy &&policy, FwdIter1 first, FwdIter1 last, FwdIter2 dest, T init, Op &&op = Op())
namespace hpx
namespace segmented

Functions

template<typename SegIter, typename T>
SegIter tag_dispatch(hpx::find_t, SegIter first, SegIter last, T const &val)
template<typename ExPolicy, typename SegIter, typename T>
parallel::util::detail::algorithm_result<ExPolicy, SegIter>::type tag_dispatch(hpx::find_t, ExPolicy &&policy, SegIter first, SegIter last, T const &val)
template<typename FwdIter, typename F>
FwdIter tag_dispatch(hpx::find_if_t, FwdIter first, FwdIter last, F &&f)
template<typename ExPolicy, typename FwdIter, typename F>
parallel::util::detail::algorithm_result<ExPolicy, FwdIter>::type tag_dispatch(hpx::find_if_t, ExPolicy &&policy, FwdIter first, FwdIter last, F &&f)
template<typename FwdIter, typename F>
FwdIter tag_dispatch(hpx::find_if_not_t, FwdIter first, FwdIter last, F &&f)
template<typename ExPolicy, typename FwdIter, typename F>
parallel::util::detail::algorithm_result<ExPolicy, FwdIter>::type tag_dispatch(hpx::find_if_not_t, ExPolicy &&policy, FwdIter first, FwdIter last, F &&f)
namespace hpx
namespace segmented

Functions

template<typename InIter, typename F>
InIter tag_dispatch(hpx::for_each_t, InIter first, InIter last, F &&f)
template<typename ExPolicy, typename SegIter, typename F>
hpx::parallel::util::detail::algorithm_result<ExPolicy, SegIter>::type tag_dispatch(hpx::for_each_t, ExPolicy &&policy, SegIter first, SegIter last, F &&f)
template<typename InIter, typename Size, typename F>
InIter tag_dispatch(hpx::for_each_n_t, InIter first, Size count, F &&f)
template<typename ExPolicy, typename SegIter, typename Size, typename F>
hpx::parallel::util::detail::algorithm_result<ExPolicy, SegIter>::type tag_dispatch(hpx::for_each_n_t, ExPolicy &&policy, SegIter first, Size count, F &&f)
namespace hpx
namespace segmented

Functions

template<typename SegIter, typename F>
SegIter tag_dispatch(hpx::generate_t, SegIter first, SegIter last, F &&f)
template<typename ExPolicy, typename SegIter, typename F>
parallel::util::detail::algorithm_result<ExPolicy, SegIter>::type tag_dispatch(hpx::generate_t, ExPolicy &&policy, SegIter first, SegIter last, F &&f)
namespace hpx
namespace segmented

Functions

template<typename InIter, typename OutIter, typename Op = std::plus<typename std::iterator_traits<InIter>::value_type>>
OutIter tag_dispatch(hpx::inclusive_scan_t, InIter first, InIter last, OutIter dest, Op &&op = Op())
template<typename ExPolicy, typename FwdIter1, typename FwdIter2, typename Op = std::plus<typename std::iterator_traits<FwdIter1>::value_type>>
parallel::util::detail::algorithm_result<ExPolicy, FwdIter2>::type tag_dispatch(hpx::inclusive_scan_t, ExPolicy &&policy, FwdIter1 first, FwdIter1 last, FwdIter2 dest, Op &&op = Op())
template<typename InIter, typename OutIter, typename Op, typename T>
OutIter tag_dispatch(hpx::inclusive_scan_t, InIter first, InIter last, OutIter dest, Op &&op, T &&init)
template<typename ExPolicy, typename FwdIter1, typename FwdIter2, typename Op, typename T>
parallel::util::detail::algorithm_result<ExPolicy, FwdIter2>::type tag_dispatch(hpx::inclusive_scan_t, ExPolicy &&policy, FwdIter1 first, FwdIter1 last, FwdIter2 dest, Op &&op, T &&init)
namespace hpx
namespace segmented

Functions

template<typename InIterB, typename InIterE, typename T, typename F>
T tag_dispatch(hpx::reduce_t, InIterB first, InIterE last, T init, F &&f)
template<typename ExPolicy, typename InIterB, typename InIterE, typename T, typename F>
parallel::util::detail::algorithm_result<ExPolicy, T>::type tag_dispatch(hpx::reduce_t, ExPolicy &&policy, InIterB first, InIterE last, T init, F &&f)
namespace hpx
namespace segmented

Functions

template<typename SegIter, typename OutIter, typename F>
hpx::parallel::util::in_out_result<SegIter, OutIter> tag_dispatch(hpx::transform_t, SegIter first, SegIter last, OutIter dest, F &&f)
template<typename ExPolicy, typename SegIter, typename OutIter, typename F>
hpx::parallel::util::detail::algorithm_result<ExPolicy, hpx::parallel::util::in_out_result<SegIter, OutIter>>::type tag_dispatch(hpx::transform_t, ExPolicy &&policy, SegIter first, SegIter last, OutIter dest, F &&f)
template<typename InIter1, typename InIter2, typename OutIter, typename F>
hpx::parallel::util::in_in_out_result<InIter1, InIter2, OutIter> tag_dispatch(hpx::transform_t, InIter1 first1, InIter1 last1, InIter2 first2, OutIter dest, F &&f)
template<typename ExPolicy, typename InIter1, typename InIter2, typename OutIter, typename F>
hpx::parallel::util::detail::algorithm_result<ExPolicy, hpx::parallel::util::in_in_out_result<InIter1, InIter2, OutIter>>::type tag_dispatch(hpx::transform_t, ExPolicy &&policy, InIter1 first1, InIter1 last1, InIter2 first2, OutIter dest, F &&f)
template<typename InIter1, typename InIter2, typename OutIter, typename F>
hpx::parallel::util::in_in_out_result<InIter1, InIter2, OutIter> tag_dispatch(hpx::transform_t, InIter1 first1, InIter1 last1, InIter2 first2, InIter2 last2, OutIter dest, F &&f)
template<typename ExPolicy, typename InIter1, typename InIter2, typename OutIter, typename F>
hpx::parallel::util::detail::algorithm_result<ExPolicy, hpx::parallel::util::in_in_out_result<InIter1, InIter2, OutIter>>::type tag_dispatch(hpx::transform_t, ExPolicy &&policy, InIter1 first1, InIter1 last1, InIter2 first2, InIter2 last2, OutIter dest, F &&f)
namespace hpx
namespace segmented

Functions

template<typename InIter, typename OutIter, typename T, typename Op, typename Conv>
OutIter tag_dispatch(hpx::transform_exclusive_scan_t, InIter first, InIter last, OutIter dest, T init, Op &&op, Conv &&conv)
template<typename ExPolicy, typename FwdIter1, typename FwdIter2, typename T, typename Op, typename Conv>
parallel::util::detail::algorithm_result<ExPolicy, FwdIter2>::type tag_dispatch(hpx::transform_exclusive_scan_t, ExPolicy &&policy, FwdIter1 first, FwdIter1 last, FwdIter2 dest, T init, Op &&op, Conv &&conv)
namespace hpx
namespace segmented

Functions

template<typename InIter, typename OutIter, typename Op, typename Conv>
OutIter tag_dispatch(hpx::transform_inclusive_scan_t, InIter first, InIter last, OutIter dest, Op &&op, Conv &&conv)
template<typename ExPolicy, typename FwdIter1, typename FwdIter2, typename Op, typename Conv>
parallel::util::detail::algorithm_result<ExPolicy, FwdIter2>::type tag_dispatch(hpx::transform_inclusive_scan_t, ExPolicy &&policy, FwdIter1 first, FwdIter1 last, FwdIter2 dest, Op &&op, Conv &&conv)
template<typename InIter, typename OutIter, typename T, typename Op, typename Conv>
OutIter tag_dispatch(hpx::transform_inclusive_scan_t, InIter first, InIter last, OutIter dest, Op &&op, Conv &&conv, T init)
template<typename ExPolicy, typename FwdIter1, typename FwdIter2, typename T, typename Op, typename Conv>
parallel::util::detail::algorithm_result<ExPolicy, FwdIter2>::type tag_dispatch(hpx::transform_inclusive_scan_t, ExPolicy &&policy, FwdIter1 first, FwdIter1 last, FwdIter2 dest, Op &&op, Conv &&conv, T init)
namespace hpx
namespace segmented

Functions

template<typename SegIter, typename T, typename Reduce, typename Convert>
std::decay<T> tag_dispatch(hpx::transform_reduce_t, SegIter first, SegIter last, T &&init, Reduce &&red_op, Convert &&conv_op)
template<typename ExPolicy, typename SegIter, typename T, typename Reduce, typename Convert>
parallel::util::detail::algorithm_result<ExPolicy, typename std::decay<T>::type>::type tag_dispatch(hpx::transform_reduce_t, ExPolicy &&policy, SegIter first, SegIter last, T &&init, Reduce &&red_op, Convert &&conv_op)
template<typename FwdIter1, typename FwdIter2, typename T, typename Reduce, typename Convert>
T tag_dispatch(hpx::transform_reduce_t, FwdIter1 first1, FwdIter1 last1, FwdIter2 first2, T init, Reduce &&red_op, Convert &&conv_op)
template<typename ExPolicy, typename FwdIter1, typename FwdIter2, typename T, typename Reduce, typename Convert>
parallel::util::detail::algorithm_result<ExPolicy, T>::type tag_dispatch(hpx::transform_reduce_t, ExPolicy &&policy, FwdIter1 first1, FwdIter1 last1, FwdIter2 first2, T init, Reduce &&red_op, Convert &&conv_op)
namespace hpx
namespace util
namespace functional
struct segmented_iterator_begin
template<typename Iterator>
struct apply

Public Types

template<>
using type = typename traits::segmented_iterator_traits<Iterator>::local_iterator

Public Functions

template<typename SegIter>
type operator()(SegIter iter) const
struct segmented_iterator_end
template<typename Iterator>
struct apply

Public Types

template<>
using type = typename traits::segmented_iterator_traits<Iterator>::local_iterator

Public Functions

template<typename SegIter>
type operator()(SegIter iter) const
struct segmented_iterator_local
template<typename Iterator>
struct apply

Public Types

template<>
using type = typename traits::segmented_iterator_traits<Iterator>::local_iterator

Public Functions

template<typename Iter>
type operator()(Iter iter) const
struct segmented_iterator_local_begin
template<typename Iterator>
struct apply

Public Types

template<>
using type = typename traits::segmented_iterator_traits<Iterator>::local_raw_iterator

Public Functions

template<typename LocalSegIter>
type operator()(LocalSegIter iter) const
struct segmented_iterator_local_end
template<typename Iterator>
struct apply

Public Types

template<>
using type = typename traits::segmented_iterator_traits<Iterator>::local_raw_iterator

Public Functions

template<typename LocalSegIter>
type operator()(LocalSegIter iter) const
struct segmented_iterator_segment
template<typename Iterator>
struct apply

Public Types

template<>
using type = typename traits::segmented_iterator_traits<Iterator>::segment_iterator

Public Functions

template<typename Iter>
type operator()(Iter iter) const