|
Boost : |
From: Martin Bonner (martin.bonner_at_[hidden])
Date: 2006-02-21 06:28:33
From: Paul Mensonides
> All of this is the status quo of the library. There are two other
> models that are superior in terms of ease of use and avoidance of
> these types of issues.
>
> The first of these, I use in a different (far more powerful)
> preprocessor library. The problem with this model is that it
> isn't portable to broken preprocessors (which are heavily used
> by users of Boost--e.g. VC++).
>
> The second alternative model revolves around automatically deducing
> all algorithm states whenever they are needed.
[snip].
There is a third model - don't use the C++ preprocessor, but use a more
general purpose text transformation tool like M4, or awk/perl/python, or
a custom tool written with bison or boost::Spirit.
I'm not knocking the preprocessor library with that suggestion. An
external tool would be no use for a library like boost where it is very
difficult to control the compilation system. Furthermore, the heroics
involved in implementing the boost preprocessor library mean that using
it is remarkably simple.
I just wanted to point out that there is always another option.
-- Martin Bonner Martin.Bonner_at_[hidden] Pi Technology, Milton Hall, Ely Road, Milton, Cambridge, CB4 6WZ, ENGLAND Tel: +44 (0)1223 203894
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk