hpx::invoke_fused_r#
Defined in header hpx/functional.hpp.
See Public API for a list of names and headers that are part of the public HPX API.
See also:
-
template<typename R, typename F, typename Tuple>
constexpr R hpx::invoke_fused_r(F &&f, Tuple &&t) noexcept(noexcept(detail::invoke_fused_impl(detail::fused_index_pack_t<Tuple>{}, std::forward<F>(f), std::forward<Tuple>(t))))# Invokes the given callable object f with the content of the sequenced type t (tuples, pairs).
Note
This function is similar to
std::apply(C++17). The difference betweenhpx::invokeandhpx::invoke_fusedis that the later unpacks the tuples while the former cannot. Turning a tuple into a parameter pack is not a trivial operation which makeshpx::invoke_fusedrather useful.Note
The difference between
hpx::invoke_fusedandhpx::invoke_fused_ris that the later allows to specify the return type as well.- Parameters:
f – Must be a callable object. If f is a member function pointer, the first argument in the sequenced type will be treated as the callee (this object).
t – A type whose contents are accessible through a call to hpx::get.
- Throws:
std::exception – like objects thrown by call to object f with the arguments contained in the sequenceable type t.
- Template Parameters:
R – The result type of the function when it’s called with the content of the given sequenced type.
- Returns:
The result of the callable object when it’s called with the content of the given sequenced type.