boost.preprocessor tuple'sで要素カウントを決定する方法は?
-
27-09-2019 - |
質問
要素を決定する方法 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'
残念ながら、既知のサイズのタプルやリストなどに保存する以外に、タプルのサイズを決定する方法はありません。
所属していません StackOverflow