diff --git a/include/boost/preprocessor/tuple/elem.hpp b/include/boost/preprocessor/tuple/elem.hpp index 54d836d..430178a 100644 --- a/include/boost/preprocessor/tuple/elem.hpp +++ b/include/boost/preprocessor/tuple/elem.hpp @@ -31,7 +31,23 @@ BOOST_PP_TUPLE_ELEM(2,1,(A,B))
  • BOOST_PP_LIMIT_TUPLE
  • */ -#define BOOST_PP_TUPLE_ELEM(SIZE_OF_TUPLE,INDEX,TUPLE) BOOST_PP_DETAIL_EXPAND2(BOOST_PP_DETAIL_CAT2(BOOST_PP_TUPLE16_ELEM,INDEX),BOOST_PP_DETAIL_CAT2(BOOST_PP_TUPLE_ELEM_EX,SIZE_OF_TUPLE) TUPLE) + +#if !defined(__MWERKS__) || __MWERKS__ > 0x3000 +# define BOOST_PP_TUPLE_ELEM(SIZE_OF_TUPLE,INDEX,TUPLE)\ + BOOST_PP_DETAIL_EXPAND2(\ + BOOST_PP_DETAIL_CAT2(BOOST_PP_TUPLE16_ELEM,INDEX)\ + ,BOOST_PP_DETAIL_CAT2(BOOST_PP_TUPLE_ELEM_EX,SIZE_OF_TUPLE) TUPLE\ + )\ +/**/ +#else +# define BOOST_PP_TUPLE_ELEM_CAT2(A,B) A##B +# define BOOST_PP_TUPLE_ELEM(SIZE_OF_TUPLE,INDEX,TUPLE)\ + BOOST_PP_DETAIL_CAT2(\ + BOOST_PP_TUPLE16_ELEM##INDEX\ + ,BOOST_PP_TUPLE_ELEM_CAT2(BOOST_PP_DETAIL_CAT2(BOOST_PP_TUPLE_ELEM_EX,SIZE_OF_TUPLE),TUPLE)\ + )\ +/**/ +#endif #define BOOST_PP_TUPLE_ELEM_EX1(A) (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P) #define BOOST_PP_TUPLE_ELEM_EX2(A,B) (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P)