¿Cómo determinar los elementos cuentan en BOOST.PROPROCESO TUPLE'S?
-
27-09-2019 - |
Pregunta
Cómo determinar los elementos cuentan en BOOST.PROCROCESOR Tuple '
Solución
Boost 1.49 ya tiene boost_pp_tuple_size macro
Otros consejos
No lo haces. Es por eso que cada macro que usa tuplas requiere que especifique el tamaño de la tupla. Puede intentar hacer algo basado en una tupla de 2 donde el primer valor es el tamaño del segundo:
#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'
Desafortunadamente, no hay forma de determinar el tamaño de una tupla que no sea conocerla o almacenarla en una tupla de tamaño conocida o en una lista, etc.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow