David Abrahams wrote:
> Aleksey Gurtovoy <[EMAIL PROTECTED]> writes:
> > 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.

Not implicitly. The 'reduced< my_func<_> >' notation will solve that.

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

Sure :). But in majority of cases it gives you the most intuitive behavior.

Aleksey
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to