Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-12-17 08:11:38


Aleksey Gurtovoy <agurtovoy_at_[hidden]> writes:

> Aleksey Gurtovoy wrote:
>> David A. Greene wrote:
>> > Thanks for considering this. I think it will be quite
>> > useful. I look forward to seeing what you come up with!
>>
>> Well, it turned out to be a little bit more complicated than
>> I had foreseen, so it's not there yet. Please stay tuned!
>
> Okay, from this moment MPL's lambda supports "reduced" metafunction form
> directly (if detected):
>
> template< typename T > struct her
> {
> // no 'type' member!
> };
>
> typedef lambda< her<_> >::type f;
> typedef apply<f,int>::type t;
>
> BOOST_MPL_ASSERT_IS_SAME(t, her<int>);
>
> The "ordinary" metafunctions work as before.

Ah!

That answers my question...

So if I want to generate a template instantiation that /happens/ to
have a nested type (that's not identity), I can't use the reduced
form.

Interesting. You have to be a little bit careful with that reduced
form then.

-- 
                       David Abrahams
   dave_at_[hidden] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

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