
Paul Mensonides wrote:
Thanks Toon. Can you try this one? It is the original example with TUPLE_EAT(2) replaced by TUPLE_EAT_2.
et voila, see attachment
////
#include <boost/preprocessor/detail/split.hpp> #include <boost/preprocessor/punctuation/comma.hpp> #include <boost/preprocessor/punctuation/paren.hpp> #include <boost/preprocessor/tuple/eat.hpp>
#define IS_NULLARY(x) \ BOOST_PP_SPLIT(1, IS_NULLARY_C x BOOST_PP_COMMA() 0) \ /**/ #define IS_NULLARY_C() \ ~, 1 BOOST_PP_RPAREN() \ BOOST_PP_TUPLE_EAT_2 BOOST_PP_LPAREN() ~ \ /**/
IS_NULLARY(()) // 1 IS_NULLARY(()abc) // 1 IS_NULLARY(+) // 0 IS_NULLARY(xyz) // 0
#define IS_UNARY(x) IS_NULLARY(IS_UNARY_C x) #define IS_UNARY_C(a) ()
IS_UNARY((a)) // 1 IS_UNARY((a)abc) // 1 IS_UNARY(+) // 0 IS_UNARY(xyz) // 0
////
Regards, Paul Mensonides
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
#line 14 "pp.cpp" 1 BOOST_PP_TUPLE_EAT_2 ( ~ , 0) 1 BOOST_PP_TUPLE_EAT_2 ( ~abc , 0) 0 0 #line 22 1 BOOST_PP_TUPLE_EAT_2 ( ~ , 0) 1 BOOST_PP_TUPLE_EAT_2 ( ~abc , 0) 0 0