سؤال

كيفية تحديد العناصر حساب في Boost.precessor توبل؟

هل كانت مفيدة؟

المحلول

Boost 1.49 لديه بالفعل boost_pp_tuple_size الماكرو

نصائح أخرى

لم تكن. لهذا السبب يتطلب منك كل ماكرو يستخدم tuples تحديد حجم tuple. يمكنك محاولة القيام بشيء بناءً على tuple 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