我正在寻找一种方法来为代表函数所需参数的std :: tuple创建一个类型表达式。考虑以下几点:为函数表示参数的元组类型表达式
template<typename F, typename ...args>
void myfunction(F&& function, A... args)
{
std::tuple</*???*/> arguments;
populate_tuple(arguments,args...);
return apply(function,arguments);
}
... F是一个正常的功能类型,适用()是适用的函数的自变量的函数,populate_tuple()并在争论一些工作(包括类型转换),然后使用调用函数的最终参数填充元组。
注:我不能在元组的声明中使用args...
,因为这些都是不该功能期待的类型 - populate_tuple()执行转换。
感觉我好像编译器有它需要做的一切,但我不知道该语言是否支持它。有任何想法吗?所有帮助赞赏。
如何变化'populate_tuple'返回你所需要的'myfunction'使用'auto',比如'自动参数= populate_tuple(参数...)的元组和;'? – NikolayKondratyev