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

Technical specifications
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals 2 TS)
Extensions for parallelism (parallelism TS)
Extensions for concurrency (concurrency TS)
Concepts (concepts TS)
Ranges (ranges TS)
Special mathematical functions (special math TR)

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