
On 6/26/2011 10:57 AM, Lorenzo Caminiti wrote:
On Sun, Jun 26, 2011 at 9:02 AM, Paul Mensonides<pmenso57@comcast.net> 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.