Perhaps, but you need to do manual work and have an upper limit.
#define BUILD0(x) x[0]
#define BUILD1(x) BUILD0(x), x[1]
#define BUILD2(x) BUILD1(x), x[2]
#define BUILD3(x) BUILD2(x), x[3]
#define BUILD(x, i) BUILD##i(x)
, i , .
BTW, , , . Boost , , . . . , .
: boost . , , ..... , , . , , , , .
#define BUILD_(x, i) BUILD##i(x)
#define BUILD(x, i) BUILD_(x, i)
#define FOO 42
BUILD(x, FOO)
, .