Boost logo

Boost :

Subject: Re: [boost] [review] Formal review period for VMD library begins today, Aug 21, and ends Sat, Aug 30
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-08-22 11:04:44


On 8/22/2014 10:39 AM, Bjorn Reese wrote:
> On 08/22/2014 03:21 PM, Edward Diener wrote:
>
>> It is a library for writing C++ macros, like Boost PP. If you do not see
>> any use for Boost PP then naturally you would not see any use for the
>> VMD library.
>
> Why is it proposed as a separate library rather than extensions to
> Boost PP?

While I have worked enhancing Boost PP using variadic macros the Boost
PP library is really Paul Mensonides library and I have done as little
as possible to change its basic functionality other than working with
Paul on it. I know how important Boost PP is to other Boost libraries as
well as end-users so I know how careful one must be in order not to
break any existing code.

The philosophy of VMD is different than Boost PP. Boost PP is more
conservative, looking for stability and safety foremost. The VMD
documentation clearly states that misuse of some of the macros can lead
to preprocessing errors from the compiler, and there is a detail
discussion about macro input constraints as well as fairly repeated
explanations of why end-user input outside of the constraints imposed by
a number of macros in the library will cause preprocessor errors. In
other words the library is less conservative and places more of an onus
on the macro programmer to enforce constraints in his documentation so
that end-users who break those constraints are aware that preprocessing
errors could occur. I view this as a worthwhile tradeoff for the extra
functionality provided by the library ( the ability to parse specific
types of preprocessor data and the ability to work with empty
preprocessor data ).


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