boost.preprocessor tuple`sの要素数を決定する方法は?
質問する
520 次
2 に答える
2
Boost1.49にはすでにBOOST_PP_TUPLE_SIZEマクロがあります
于 2012-04-11T11:53:45.640 に答える
2
あなたはそうしない。そのため、タプルを使用するすべてのマクロで、タプルのサイズを指定する必要があります。最初の値が 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'
残念ながら、タプルのサイズを知るか、既知のサイズのタプルやリストなどに格納する以外に、タプルのサイズを決定する方法はありません。
于 2010-10-04T12:20:25.157 に答える