Boost logo

Boost :

From: Tobias Schwinger (tschwinger_at_[hidden])
Date: 2006-01-26 15:33:50


Arkadiy Vertleyb wrote:
> "Tobias Schwinger" <tschwinger_at_[hidden]> wrote
>
>
>> REGISTER_SPEC((typename T),
>> (std::set< T )( std::less<T> )( std::allocator<T> > ))
>>
>> REGISTER_SPEC((typename T)(typename Pred),
>> (std::set< T )( Pred )( std::allocator<T> > ))
>>
>> // ^^^ NOTE: not a proposal for an interface -- for illustration,
>
> only
>
> Also, please note that currently, when (class) or (typename) is passed to
> the macro, it's not just used as is. Instead, it is used to create an
> "object" that contains certain knowledge of how the type template parameter
> is different from integral template parameter and template template
> parameter. So it doesn't seem possible to just replace it with (typename
> T). We would probably have to pass them separately: (typename)(T).
>

Right - I forgot about the non-type template parameters.

     ((typename,T0))((typename,T1))

would be another option. Maybe there's some trick to make

     (typename,T0)(typename,T1)

work (which would be the best looking notation IMO).

Regards,

Tobias


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