#include <boost/preprocessor/punctuation/paren_if.hpp> #define MACRO(c, x) BOOST_PP_LPAREN_IF(c) x BOOST_PP_RPAREN_IF(c) MACRO(0, text) // expands to text MACRO(1, text) // expands to (text)