
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