|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Getting the result | ||||
| Execution | ||||
packaged_task::reset | ||||
| Non-member functions | ||||
| Helper classes | ||||
(until C++17) | ||||
| Deduction guides(C++17) |
void reset(); | (since C++11) | |
Resets the state abandoning the results of previous executions. New shared state is constructed.
Equivalent to*this= packaged_task(std::move(f)), wheref is the stored task.
Contents |
(none)
(none)
packaged_task.#include <cmath>#include <future>#include <iostream>#include <thread> int main(){std::packaged_task<int(int,int)> task([](int a,int b){returnstd::pow(a, b);});std::future<int> result= task.get_future(); task(2,9);std::cout<<"2^9 = "<< result.get()<<'\n'; task.reset(); result= task.get_future();std::thread task_td(std::move(task),2,10); task_td.join();std::cout<<"2^10 = "<< result.get()<<'\n';}
Output:
2^9 = 5122^10 = 1024