#include <boost/preprocessor/facilities/intercept.hpp> #include <boost/preprocessor/repetition/enum_binary_params.hpp> BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = U) // expands to class T0 = U0, class T1 = U1, class T2 = U2 BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = int BOOST_PP_INTERCEPT) // expands to class T0 = int, class T1 = int, class T2 = int