hpx::invoke#
Defined in header hpx/functional.hpp.
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace hpx
Functions
- template<typename F, typename... Ts> constexpr HPX_CXX_CORE_EXPORT util::invoke_result_t< F, Ts &&... > invoke (F &&f, Ts &&... vs) noexcept(noexcept(HPX_INVOKE(HPX_FORWARD(F, f), HPX_FORWARD(Ts, vs)...)))
Invokes the given callable object f with the content of the argument pack vs
Note
This function is similar to
std::invoke(C++17)- Parameters
f – Requires to be a callable object. If f is a member function pointer, the first argument in the pack will be treated as the callee (this object).
vs – An arbitrary pack of arguments
- Throws
std::exception – like objects thrown by call to object f with the argument types vs.
- Returns
The result of the callable object when it’s called with the given argument types.
- template<typename R, typename F, typename... Ts> constexpr HPX_CXX_CORE_EXPORT R invoke_r (F &&f, Ts &&... vs) noexcept(noexcept(HPX_INVOKE(HPX_FORWARD(F, f), HPX_FORWARD(Ts, vs)...)))
- Template Parameters
R – The result type of the function when it’s called with the content of the given argument types vs.