hpx/parallel/util/invoke_projected.hpp

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

namespace hpx
namespace parallel
namespace util
template<typename Pred, typename Proj>
struct invoke_projected

Public Types

template<>
using pred_type = std::decay_t<Pred>
template<>
using proj_type = std::decay_t<Proj>

Public Functions

template<typename Pred_, typename Proj_>
constexpr invoke_projected(Pred_ &&pred, Proj_ &&proj)
template<typename T>
decltype(auto) operator()(T &&t)
template<typename T>
decltype(auto) operator()(T &&t, T &&u)

Public Members

pred_type pred_
proj_type proj_
template<typename Pred>
struct invoke_projected<Pred, projection_identity>

Public Types

template<>
using pred_type = std::decay_t<Pred>

Public Functions

template<typename Pred_>
constexpr invoke_projected(Pred_ &&pred, projection_identity)
template<typename T>
decltype(auto) operator()(T &&t)
template<typename T>
decltype(auto) operator()(T &&t, T &&u)

Public Members

pred_type pred_