Boost logo

Boost :

Subject: Re: [boost] [preprocessor] [config] Support for variadic macros
From: Wolf Lammen (ookami1_at_[hidden])
Date: 2010-08-06 08:11:41


> someone there has submitted a workaround for this bug. I've tried it,
> it looks sufficient to implement macros like BOOST_PP_TUPLE_*, but
> variadic, without the "size" parameter for MSVC (and C99/C++0x)
>

Hi,

Variadic macros are part of the C99 standard. Judging from the preprocessor sources, their developers Mr Mensonides (and perhaps Mr Karvonen) seem to have painfully avoided breaking any rule of the C90 standard. For example, there are never empty macro arguments passed, although this would have simplified code in several instances.

So, using variadic macros will break downward compatibility.

If you think it is time to leave C90 behind, it might be worth evaluating one of the preprocessor engines Chaos (Mensonides) or Order (Karvonen) developed several years ago.

Cheers

Wolf Lammen

-- 
GMX DSL SOMMER-SPECIAL: Surf & Phone Flat 16.000 für nur 19,99 ¿/mtl.!*
http://portal.gmx.net/de/go/dsl

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk