|
Boost : |
From: hartmutkaiser_at_[hidden]
Date: 2003-04-11 03:15:20
David Abrahams wrote:
> > Yes, and Wave is a great tool for pp-metaprogramming.
> It includes a great
> > tracing facility and the ability to enable variadics
> and placemarkers in C++.
> > You can also enable the inline _Pragma from C99 and do
> isolated pp debugging:
> >
> > #define A(x) \
> > _Pragma("wave trace(enable)") B() \
> > _Pragma("wave trace(disable)") C() \
> >
> > This will only trace the expansion of B. This is a
> great facility! On the same
> > debugging front, Wave has another _Pragma to cause a
> full stop and emit a
> > user-defined error message--all subject to macro
> expansion of course (which is
> > why it is important for debugging.) Wave is a great
> tool that is getting better
> > every day.
>
> One great thing about this is that we can integrate the
> construction
> and use of wave into our build process, so that the
> strict PP lib can
> be used with any compiler with wave as a front-end.
Yes. But we have to decide, how to make Wave a part of Boost, because
it is not today. I see several ways to achieve this:
1. Request for formal Boost review, i.e. try to make Wave a 'normal'
library inside of Boost. For this we have to see, if there is enough
interest for such a beast (besides to be a preprocessor application,
Wave is a preprocessor library, so this may be an option).
2. Include the Wave application as a supporting tool (as bjam or
boostbook) into the /boost/tools directory (does this require a
separate review?)
3. Include Wave as a preprocessor tool just inside and as a part of the
Boost.Preprocessor library for those people, who is interested in
experimenting with Pauls strict pp-lib (codename 'Chaos').
Thoughts?
regards Hartmut
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk