Boost logo

Boost :

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


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