std::experimental::packaged_task (library fundamentals TS)
From cppreference.com
< cpp | experimental | lib extensions
C++
Experimental
| Technical Specification | ||||
| Filesystem library (filesystem TS) | ||||
| Library fundamentals (library fundamentals TS) | ||||
| Library fundamentals 2 (library fundamentals TS v2) | ||||
| Library fundamentals 3 (library fundamentals TS v3) | ||||
| Extensions for parallelism (parallelism TS) | ||||
| Extensions for parallelism 2 (parallelism TS v2) | ||||
| Extensions for concurrency (concurrency TS) | ||||
| Extensions for concurrency 2 (concurrency TS v2) | ||||
| Concepts (concepts TS) | ||||
| Ranges (ranges TS) | ||||
| Reflection (reflection TS) | ||||
| Mathematical special functions (special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
Library fundamentals
Polymorphic allocator library
Convenience aliases for containers using polymorphic_allocator | ||||
| Memory resource classes | ||||
| Global memory resources | ||||
| Type-erased allocator support for existing classes | ||||
packaged_task | ||||
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.
Contents |
[edit] Member types
| Member type | Definition |
allocator_type
|
std::experimental::erased_type |
[edit] Member functions
| constructs the task object (public member function) [edit] | |
| retrieves a pointer to the memory resource used by this object to allocate memory (public member function) [edit] |
[edit] Non-member function
specializes the swap algorithm (function template) [edit] |
[edit] Helper classes
| specializes the std::uses_allocator type trait (class template specialization) [edit] |
Members identical to std::packaged_task
Member functions
| destructs the task object (public member function of std::packaged_task<R(Args...)>) [edit]
| |
| moves the task object (public member function of std::packaged_task<R(Args...)>) [edit]
| |
| checks if the task object has a valid function (public member function of std::packaged_task<R(Args...)>) [edit]
| |
| swaps two task objects (public member function of std::packaged_task<R(Args...)>) [edit]
| |
Getting the result | |
| returns a std::future associated with the promised result (public member function of std::packaged_task<R(Args...)>) [edit]
| |
Execution | |
| executes the function (public member function of std::packaged_task<R(Args...)>) [edit]
| |
| executes the function ensuring that the result is ready only once the current thread exits (public member function of std::packaged_task<R(Args...)>) [edit]
| |
| resets the state abandoning any stored results of previous executions (public member function of std::packaged_task<R(Args...)>) [edit]
| |