add original source
This commit is contained in:
12
source/listing_4.14.cpp
Normal file
12
source/listing_4.14.cpp
Normal file
@@ -0,0 +1,12 @@
|
||||
template<typename F,typename A>
|
||||
std::future<std::result_of<F(A&&)>::type>
|
||||
spawn_task(F&& f,A&& a)
|
||||
{
|
||||
typedef std::result_of<F(A&&)>::type result_type;
|
||||
std::packaged_task<result_type(A&&)>
|
||||
task(std::move(f));
|
||||
std::future<result_type> res(task.get_future());
|
||||
std::thread t(std::move(task),std::move(a));
|
||||
t.detach();
|
||||
return res;
|
||||
}
|
||||
Reference in New Issue
Block a user