【发布时间】:2012-02-25 18:42:19
【问题描述】:
所以我是提升 MPL 的新手,我不知道如何将它与标准类型一起使用。
我想要一个转换这种类型的元函数:
std::tuple<T0, T1, ..., TN>
进入这个:
std::tuple<
std::function<T0(std::tuple<T0, T1, ...>, std::tuple<T0, T1, ...>)>,
std::function<T1(std::tuple<T0, T1, ...>, std::tuple<T0, T1, ...>)>,
...,
std::function<TN(...)>
>
这似乎可以用transform 完成,但我想要一个元组类型,而不是类型向量。 (其实不一定要用MPL,不过我猜会更短吧?)
背景:目前我使用完全通用的类型,如果使用错误,我会完全依赖,但我想计算 TupleOfFunctions 以获得正确的错误。
template<class TupleOfValues, class TupleOfFunctions>
void f(TupleOfValues v, TupleOfFunctions fun)
【问题讨论】:
标签: c++ boost c++11 metaprogramming