Documentation Home >> Headers >> <future> Header >> std::packaged_task >> std::packaged_task Construction from a function

Construct a std::packaged_task object with an associated task and asynchronous result.

template<
    typename FunctionResultType,
    typename FunctionArgs...>
packaged_task(
    FunctionResultType (*func)(FunctionArgs...));

Preconditions:

The expression func(args...) shall be valid, where each element args-i in args... shall be a value of the corresponding type ArgTypes-i in ArgTypes.... The return value shall be convertible to ResultType.

Effects:

Constructs a std::packaged_task instance with an associated asynchronous result of type ResultType that is not ready and an associated task that is a copy of func.

Throws:

An exception of type std::bad_alloc if the constructor is unable to allocate memory for the asynchronous result.

Header

#include <future>

See Also