hpx/algorithms/traits/projected.hpp

See Public API for a list of names and headers that are part of the public HPX API.

template<typename Iterator>
struct projected_iterator<Iterator, typename std::enable_if<is_segmented_iterator<Iterator>::value>::type>

Public Types

template<>
using local_iterator = typename segmented_iterator_traits::local_iterator
template<>
using type = typename segmented_local_iterator_traits<local_iterator>::local_raw_iterator
template<typename Iterator>
struct projected_iterator<Iterator, typename hpx::util::always_void<typename std::decay<Iterator>::type::proxy_type>::type>

Public Types

template<>
using type = typename std::decay<Iterator>::type::proxy_type
namespace hpx
namespace parallel
namespace traits

Typedefs

template<typename F, typename Iter>
using is_projected_t = typename is_projected<F, Iter>::type
template<typename ExPolicy, typename F, typename ...Projected>
using is_indirect_callable_t = typename is_indirect_callable<ExPolicy, F, Projected...>::type

Variables

template<typename F, typename Iter>
constexpr bool is_projected_v = is_projected<F, Iter>::value
template<typename ExPolicy, typename F, typename ...Projected>
constexpr bool is_indirect_callable_v = is_indirect_callable<ExPolicy, F, Projected...>::value
template<typename Proj, typename Iter>
struct projected

Public Types

template<>
using projector_type = typename std::decay<Proj>::type
template<>
using iterator_type = typename hpx::traits::projected_iterator<Iter>::type
namespace traits
template<typename T, typename Enable = void>
struct projected_iterator

Public Types

template<>
using type = typename std::decay::type
template<typename Iterator>
struct projected_iterator<Iterator, typename hpx::util::always_void<typename std::decay<Iterator>::type::proxy_type>::type>

Public Types

template<>
using type = typename std::decay<Iterator>::type::proxy_type
template<typename Iterator>
struct projected_iterator<Iterator, typename std::enable_if<is_segmented_iterator<Iterator>::value>::type>

Public Types

template<>
using local_iterator = typename segmented_iterator_traits::local_iterator
template<>
using type = typename segmented_local_iterator_traits<local_iterator>::local_raw_iterator