LINUX.ORG.RU

Корректен ли вызов std::async

 ,


0

2

Всем привет!

Прошу подсказать, корректен ли код?

unique_ptr<IParser> parser = factory.getParser();
auto future = async(launch::async, &IParser::parse, move(parser));
futureHolder.setFuture(move(future));

Смущает move(parser). Вроде как, объект должен передаваться по указателю в IParser::parse, а у меня unique_ptr. В gcc и clang отрабатывает корректно. Но инфы не нашёл, соответствует ли это решение стандарту.

Конкретно с передачей parser ok

должен передаваться по указателю в IParser::parse, а у меня unique_ptr

Либо нет, либо навроде IParser::parse(std::unique_ptr<>)

Deleted ()
Ответ на: комментарий от Deleted

Посмотреть на определение async хотя бы на том же cppreference и перейти 2 раза по ссылкам (на thread и invoke) — неподъёмная задача для среднего лоровца?

anonymous ()