From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2002-04-17 18:12:43


----- Original Message -----
From: "David Abrahams" <david.abrahams_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Wednesday, April 17, 2002 3:14 PM
Subject: Re: [boost] Preprocessor Library - ATTN: David Abrahams

> > Specifically, please give me an example of what you want for the first
> few
> > outputs *after* the preprocessor.
>
> Sorry, I don't understand what you mean here. Could you clarify?

I mean give me an example of what you want the preprocessor to generate for you.
I imagine that you want it to generate stuff that the template mechanism itself
cannot generate such as comma separated lists.

So, given that you are trying to use the BPPL :) give me some examples of what
you are trying to use it to produce. For instance, in the 'tutorial' for the
BPPL, it has this example:

#define IS_FUNCTION_TESTER(N, _)\
    template<class R BOOST_PP_COMMA_IF(N) BOOST_PP_ENUM_PARAMS(N, class A)>\
        yes_type is_function_tester(R (*)(BOOST_PP_ENUM_PARAMS(N, A)));

BOOST_PP_REPEAT_2ND(BOOST_PP_INC(MAX_IS_FUNCTION_TESTER_PARAMS),
IS_FUNCTION_TESTER,_)

#undef IS_FUNCTION_TESTER

Obviously, this is producing something like:

template<class R, class A0, class A1>
    yes_type is_function_tester(R (*)(A0, A1);

... with a variable number of A's from zero to MAX_IS_FUNCTION_TESTER_PARAMS

What I'd like is an example of what *you* want to produce (not how to produce
it) and I'll test the performance of my version of the library--then I'll talk
to Vesa Karvonen about it. In order to fully test my facility--which works for
everything I've needed so far--it has to be able to produce what others need.
Incidentally, I'm not proposing that the Preprocessor library be radically
altered, but some extensions should be there.

Paul Mensonides