#include <boost/preprocessor/control/expr_if.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
#define CV(n) /* ........................... */ \
BOOST_PP_EXPR_IF( \
n, \
BOOST_PP_TUPLE_ELEM( \
4, n, \
(..., const, volatile, const volatile) \
) \
) \
/**/
CV(0) // expands to nothing
CV(1) // expands to const