1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #ifndef BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED
- #define BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED
- #include <boost/mpl/aux_/preprocessor/is_seq.hpp>
- #include <boost/preprocessor/if.hpp>
- #include <boost/preprocessor/logical/bitand.hpp>
- #include <boost/preprocessor/logical/compl.hpp>
- #include <boost/preprocessor/tuple/eat.hpp>
- #include <boost/preprocessor/cat.hpp>
- #define BOOST_MPL_PP_TOKEN_EQUAL(a, b) \
- BOOST_PP_IIF( \
- BOOST_PP_BITAND( \
- BOOST_MPL_PP_IS_SEQ( BOOST_PP_CAT(BOOST_MPL_PP_TOKEN_EQUAL_, a)((unused)) ) \
- , BOOST_MPL_PP_IS_SEQ( BOOST_PP_CAT(BOOST_MPL_PP_TOKEN_EQUAL_, b)((unused)) ) \
- ) \
- , BOOST_MPL_PP_TOKEN_EQUAL_I \
- , 0 BOOST_PP_TUPLE_EAT(2) \
- )(a, b) \
- #define BOOST_MPL_PP_TOKEN_EQUAL_I(a, b) \
- BOOST_PP_COMPL(BOOST_MPL_PP_IS_SEQ( \
- BOOST_MPL_PP_TOKEN_EQUAL_ ## a( \
- BOOST_MPL_PP_TOKEN_EQUAL_ ## b \
- )((unused)) \
- )) \
- #endif
|