質問

要素を決定する方法 boost.preprocessor タプル?

役に立ちましたか?

解決

ブースト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'

残念ながら、既知のサイズのタプルやリストなどに保存する以外に、タプルのサイズを決定する方法はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top