hpx/functional/function.hpp

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

Defines

HPX_UTIL_REGISTER_FUNCTION_DECLARATION(Sig, F, Name)
HPX_UTIL_REGISTER_FUNCTION(Sig, F, Name)
namespace hpx
template<typename R, typename ...Ts, bool Serializable>
class function<R(Ts...), Serializable> : public util::detail::basic_function<R(Ts...), true, Serializable>

Public Types

template<>
using result_type = R

Public Functions

constexpr function(std::nullptr_t = nullptr)
function(function const&)
function(function&&)
function &operator=(function const&)
function &operator=(function&&)
template<typename F, typename FD = std::decay_t<F>, typename Enable1 = std::enable_if_t<!std::is_same_v<FD, function>>, typename Enable2 = std::enable_if_t<is_invocable_r_v<R, FD&, Ts...>>>
function(F &&f)
template<typename F, typename FD = std::decay_t<F>, typename Enable1 = std::enable_if_t<!std::is_same_v<FD, function>>, typename Enable2 = std::enable_if_t<is_invocable_r_v<R, FD&, Ts...>>>
function &operator=(F &&f)

Private Types

template<>
using base_type = util::detail::basic_function<R(Ts...), true, Serializable>
namespace distributed

Typedefs

template<typename Sig>
using function = hpx::function<Sig, true>
namespace util

Typedefs

typedef hpx::move_only_function<Sig> instead