|
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