Boost logo

Boost :

From: Larry Evans (cppljevans_at_[hidden])
Date: 2006-09-02 10:13:48


Paul Mensonides <pmenso57 <at> comcast.net> writes:

[snip]
> You could also let the pp-lib do the work:
>
> #define APPLY_IDENTITY(s, _, x) boost::forwarder::identity(x)
> #define SEQ_FOR_EACH_IDENTITY(seq) \
> BOOST_PP_SEQ_ENUM( \
> BOOST_PP_SEQ_TRANSFORM(APPLY_IDENTITY, ~, seq) \
> ) \
> /**/

Thanks. That suggestion prompted me to look further in the pp-lib
and I found using SEQ_TO_TUPLE instead of SEQ_ENUM would allow
syntax like:

  some_function SEQ_TO_IDENTITY_TUPLE
  ( (a)
    (b)
    (c)
  )

where the SEQ_FOR_EACH_IDENTITY macro has been renamed to be more
descriptive and the use of SEQ_TO_TUPLE eliminates the need for
typing the arguments enclosing () for some_function.

New code's in vault.

> > The newest zip also includes a Makefile which I've found
> > useful in seeing what's produced by cpp. I was wondering how
> > you've gotten bjam to do something similar to that Makefile.
> > If so, could you post the code or a link?
>
> I don't use bjam for this. I run the compiler (or a set of compilers) in
> preprocess-only mode and look at the output.
>
> I make small proof-of-concept scenarios (regular code) in order to establish
> what I want to generate. Once I have decided that, then I write the generator
> and debug any errors I might have made. At this point, I'm specifically

OK. That sounds about like what I'm doing with the Makefile. I just
wanted to avoid having to specify the -I compiler flags both in
the Jamfile.v2 and Makefile, I'll just have to figure how to
invoke the compiler with -E and pass result to indent with some
new bjam rule.

Thanks for the help.

-regards,
Larry Evans


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