Frage

Wie man Elemente bestimmt, zählen in Boost.Proprocessor Tuple?

War es hilfreich?

Lösung

Boost 1.49 hat bereits Boost_pp_tuple_size -Makro

Andere Tipps

Du nicht. Aus diesem Grund müssen Sie jedes Makro, das Tupel verwendet, die Größe des Tupels angeben. Sie könnten versuchen, etwas zu tun, das auf einem 2 -Tupel basiert, bei dem der erste Wert die Größe des zweiten hat:

#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'

Leider gibt es keine Möglichkeit, die Größe eines Tupels zu bestimmen, als es zu wissen oder in einem bekannten Tupel oder in einer Liste zu speichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top