Я хотел бы реализовать метод, подобный этому:
boost::unique_future<int> foo()
{
return defer([=] // call this lambda on boost::unique_future<int>::get();
{
return prime(10);
});
}
Я знаю о boost::promise
и boost::packaged_task
и set_wait_callback
, однако, поскольку возвращаемое будущее принимает ссылку на это, это не будетработать?
Я знаю, что есть std::async
и std::launch::sync
, но как можно эмулировать его, используя boost и vs2010?
std::unique_future<int> foo()
{
return std::async(std::launch::sync, [=]
{
return prime(10);
});
}