|
Boost Users : |
Subject: Re: [Boost-users] use boost preprocessor to generate T1 t1, T2 t2 ...
From: Krzysztof Czainski (1czajnik_at_[hidden])
Date: 2012-10-27 06:50:32
2012/10/27 Krzysztof Czainski <1czajnik_at_[hidden]>
> 2012/10/26 Daniel James <dnljms_at_[hidden]>
>
>> On 26 October 2012 19:41, weiqingh <weiqingh_at_[hidden]> wrote:
>> > hi there,
>> >
>> > I would like to use boost preprocessor to generate something like this:
>> (for
>> > n from 0 to N with n = 2 in the following example)
>> >
>> > template <typename T1, typename T2>
>> > void foo(T1 t1, T2 t2)
>> >
>> > I have tried to use BOOST_PP_ENUM_PARAMS but cannot figure out how to
>> get
>> > both T_i and t_i changed each time. is there some other macros I can
>> use?
>> > any help is highly appreciated.
>>
>> You want BOOST_PP_ENUM_BINARY_PARAMS.
>
>
> Here's my shot at the this, *not* tested:
>
>
#define FOO( n ) \
> BOOST_PP_EXPR_IF( N, template < ) \
> BOOST_PP_ENUM_PARAMS( n, typename T ) \
>
BOOST_PP_EXPR_IF( N, > ) \
> void foo( BOOST_PP_ENUM_BINARY_PARAMS( n, T, t) )
>
> HTH, Kris
>
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net