#include <boost/preprocessor/control/if.hpp> #include <boost/preprocessor/facilities/identity.hpp> #define MACRO_CAT(y,z) y ## z #define MACRO(n) BOOST_PP_IF(n, BOOST_PP_IDENTITY_N(x,2), MACRO_CAT)(a,b) MACRO(0) // expands to ab MACRO(1) // expands to x
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)