【问题标题】:How to determine elements count in boost.preprocessor tuple`s?如何确定 boost.preprocessor 元组中的元素计数?
【发布时间】:2010-10-01 18:51:50
【问题描述】:

如何确定boost.preprocessor tuple`s 中的元素数量?

【问题讨论】:

    标签: c++ boost boost-preprocessor


    【解决方案1】:

    Boost 1.49 已经有 BOOST_PP_TUPLE_SIZE 宏

    【讨论】:

      【解决方案2】:

      你没有。这就是为什么每个使用元组的宏都要求您指定元组的大小。您可以尝试基于 2 元组做一些事情,其中​​第一个值是第二个的大小:

      #define MyTuple (2,(a,tuple))
      #define MyTupleSize( S_ ) BOOST_PP_TUPLE_ELEM( 2, 0, S_ )
      #define GetMyTuple( S_, I_ ) BOOST_PP_TUPLE_ELEM( MyTupleSize(S_), I_, BOOST_PP_TUPLE_ELEM(2, 1, S_ ) )
      MyTupleSize( MyTuple ) // this is '2'
      GetMyTuple( MyTuple, 1 )// this is 'tuple'
      

      不幸的是,除了知道元组或将其存储在已知大小的元组或列表等中之外,没有其他方法可以确定元组的大小。

      【讨论】:

        猜你喜欢
        • 2016-06-21
        • 2021-12-21
        • 2014-04-20
        • 1970-01-01
        • 2018-04-16
        • 1970-01-01
        • 1970-01-01
        • 2011-08-18
        • 1970-01-01
        相关资源
        最近更新 更多