我有两个功能f
和g
. f
异步计算它的返回值并返回一个未来。现在,基于 的几个返回值f
,我想调用g
,但我想确保 的值的计算f
并行发生。
考虑以下代码:
template <typename T>
std::future<T> f(T& t);
template <typename... T>
void g(T&&... t)
template <typename... T>
void call_wrapper(T&&... t) {
auto f1 = f(t1); // How do I set the values of f1... fn
auto f2 = f(t2);
...
g(f1.get(), f2.get()....); // How do I call g
}
如何从函数的可变参数模板T
中解压缩类型call_wrapper
?