std::experimental:: packaged_task (library fundamentals TS)

From cppreference.com

This page is about the modified version of std::packaged_task with type-erased allocator support provided by the Library Fundamentals TSes. For the version of packaged_task provided by the concurrency TS supporting the std::future improvements made by that TS, see std::experimental::concurrency_v1::packaged_task .

Defined in header <experimental/future>
template < class > class packaged_task ; //not defined
(1) (library fundamentals TS)
template < class R, class ... Args >
class packaged_task < R ( Args... ) > ;
(2) (library fundamentals TS)

std::experimental::fundamentals_v1::packaged_task (and std::experimental::fundamentals_v2::packaged_task ) is a modified version of std::packaged_task provided by the library fundamentals TS with support for type-erased allocators.

Member types

Member type Definition
allocator_type std::experimental::erased_type

Member functions

constructs the task object
(public member function)
retrieves a pointer to the memory resource used by this object to allocate memory
(public member function)

Non-member function

specializes the swap algorithm
(function template)

Helper classes

specializes the std::uses_allocator type trait
(class template specialization)

Members identical to std:: packaged_task

Member functions

destructs the task object
(public member function of std::packaged_task<R(Args...)> )
moves the task object
(public member function of std::packaged_task<R(Args...)> )
checks if the task object has a valid function
(public member function of std::packaged_task<R(Args...)> )
swaps two task objects
(public member function of std::packaged_task<R(Args...)> )
Getting the result
returns a std::future associated with the promised result
(public member function of std::packaged_task<R(Args...)> )
Execution
executes the function
(public member function of std::packaged_task<R(Args...)> )
executes the function ensuring that the result is ready only once the current thread exits
(public member function of std::packaged_task<R(Args...)> )
resets the state abandoning any stored results of previous executions
(public member function of std::packaged_task<R(Args...)> )