pas*_*cal 2 c++ boost metaprogramming c++11
所以我是提升 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)
以下情况如何?
template<typename T> struct transform;
template<typename ...T>
struct transform<std::tuple<T...>> {
  typedef std::tuple<std::function<T(std::tuple<T...>, std::tuple<T...>)>...> type;
};
| 归档时间: | 
 | 
| 查看次数: | 1106 次 | 
| 最近记录: |