Boost logo

Boost :

Subject: Re: [boost] [preprocessor] Warning: Incoming
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-06-26 11:31:55

On 6/26/2011 10:57 AM, Lorenzo Caminiti wrote:
> On Sun, Jun 26, 2011 at 9:02 AM, Paul Mensonides<pmenso57_at_[hidden]> wrote:
>> I'm about to commit a relatively significant changeset to the pp-lib.
> Do these changes need to be peer-reviewed?

I will leave Paul to comment on this if he wishes.

>> This is the result of work by Edward Diener and I to add limited variadic
>> support to the pp-lib. Edward can comment in more detail regarding the
>> extent of those changes, but they do not add ground-up support.
> If the pp-lib needs to be changed, why not change it radically to add
> ground-up variadic support? (This is not a rhetoric question. I am
> sincerely asking as there might be very good reasons not to add
> ground-up variadic support to Boost.Preprocessor.)

I am not sure what Paul meant by "ground-up" variadic support, nor how
you take it, but the variadic support in pp-lib is very much the same as
in my VMD library with a few added enhancements based on Paul's
knowledge of preprocessor programming. The overall intent in pp-lib was
the same as VMD: to integrate the use of variadic macros with pp-lib's
richer data types ( tuple, array, list, seq ) and to enhance the use of
pp-lib tuples with variadic macro support.

>> However, there are significant changes to heavily used low-level
>> facilities such as BOOST_PP_TUPLE_ELEM (sometimes even complete
>> implementation replacements). We have put in a great deal of effort to
>> avoid introducing new errors or warnings in either the building of the
>> Boost binaries or in the regression tests. However, we may have missed
>> some issues.
> I use Boost.Preprocessor (PP_TUPLE_, etc) pervasively in the
> implementation of a lot of macros in my projects. I also occasionally
> use Edward's VMD library. I will haply test the Boost.Preprocessor
> changes against my code.

That would be very welcome.

I added a section in the pp-lib documentation under "Topics" called
"variadic macros" which should help you.

Boost list run by bdawes at, gregod at, cpdaniel at, john at