Boost logo

Boost :

From: Hartmut Kaiser (hartmutkaiser_at_[hidden])
Date: 2003-05-15 13:36:18


Hi all,

There is a new version of the Wave C++ preprocessor library available
(V0.9.3). This release addresses two different goals.

1. The Wave libary has a new C++0x mode, which implements the recently
proposed additions to the C++ preprocessor (see here:
http://aspn.activestate.com/ASPN/Mail/Message/boost/1600772 and here:
http://aspn.activestate.com/ASPN/Mail/Message/boost/1618972). In short
this mode

- adds variadics and placemarkers to C++ as standardized in the C99
language
- adds macro scopes as proposed by Paul Mensonides (slightly changed
after heavy discussions with Paul)
- adds well defined token-pasting of unrelated tokens as proposed by
Paul Mensonides
- adds the __comma__, __lparen__ and __rparen__ alternative pp tokens as
proposed by Vesa Karvonen

You may want to read about the details of this features in the Wave
documentation, which is found inside the distributive or online here:
http://spirit.sourceforge.net/index.php?doc=docs/wave_v0_9/index.html

2. For all other features it is merely a maintanance release, which
fixes certain bugs and adds minor features.

The Wave preprocessor library has shown to be very stable and Standards
conformant now. It is able to compile the strict pp-lib (currently
prepared for release by Paul Mensonides) and the Order library recently
published by Vesa Karvonen. Besides Wave there is currently only one
preprocessor, which is able to compile both libraries: gcc.

To get a proof of concept for the implemented experimental extensions
I've 'ported' Vesa's Order library to use the macro scoping facilities,
which was straightforward to do. The whole Order library now exposes
one! name to the global macro scope. BTW the compilation of the test
scripts contained in the library are now about 30%! faster, then the
compilation of the equivalent scripts with the original version (w/o
macro scopes). AFAIK Paul currently prepares a version of the strict
pp-lib which uses the macro scoping features too. But I do not want to
pre-announce something here, I'm sure, he will have a lot to say on this
topic in the near future :-)

You can download the new Wave version here:
http://spirit.sourceforge.net/index.php?doc=download/Wave_0_9.html

Any comments would be very appreciated.
Regards Hartmut


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