【问题标题】:number of templated parameters in a boost::tupleboost::tuple 中模板化参数的数量
【发布时间】:2011-06-28 08:34:15
【问题描述】:

我的代码使用boost::tuple

假设我想存储一个具有 3 个成员的结构的等价物

  typedef boost::tuple< std::string, int, double > my_struct;

有没有什么方法可以调用tuple,这会给我包含的成员数量,所以在这种情况下为 3?

我的目标是监控何时增加模板参数的数量。

【问题讨论】:

  • 您能否详细说明一下“监控增加模板参数的数量”?这有什么意义?您只能在编译时增加参数的数量,如果您以 tuple&lt;T...&gt;T 的形式传递一个元组,无论如何您都必须“循环”它。
  • 不是您问题的直接答案,但在 C++11 中,std::tuple_size&lt;tuple&gt;::value 给出了 std::tuple 的参数数量。

标签: c++ tuples boost-tuples


【解决方案1】:

使用::boost::tuples::length&lt;T&gt;::value 辅助函数。

documentation

【讨论】:

    【解决方案2】:

    检查文档here

    length<T>::value
    

    给出元组类型 T 的长度。

    【讨论】:

      【解决方案3】:

      根据boost::tuple documentation你要找的是length&lt;T&gt;::value

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-30
        • 1970-01-01
        相关资源
        最近更新 更多