【发布时间】:2013-06-14 08:04:47
【问题描述】:
我有一个像这样给出的 std::tuple:
typedef std::tuple<t1, t2, t3> tuple_t;
现在,我想将 t3_tuple 转换为类似的元组:
typedef std::tuple< T<t1>, T<t2>, T<t3> > derived_tuple_t;
以我为例,t1、t2 和 t3 是原语,T 是 std::stack。一般来说,假设可能有t4等等。
当然,我的第二个定义已经解决了这个问题,但我希望推导是自动的:仅给定 T 和 tuple_t,构建我 derived_tuple_t。像这样:
template <class T, class tuple_t> using derived_tuple_t = std::tuple</*???*/>;
这样的事情可能吗?也许是一个简短的解决方案?
【问题讨论】:
-
我认为这个问题不仅与
tuple相关,而且通常适用于可变参数模板。
标签: c++ templates c++11 variadic-templates template-templates