|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2004-05-15 07:11:15
"David B. Held" <dheld_at_[hidden]> writes:
> "David Abrahams" <dave_at_[hidden]> wrote in message
> news:u4qqiep5w.fsf_at_boost-consulting.com...
>>
>> Just to clarify, we're talking about mpl::lambda here.
>
> Right.
>
>> "David B. Held" <dheld_at_[hidden]> writes:
>>
>> [...]
>> > Now, my understanding is that we can use Lambda so that we can
>> > invoke Foo this way:
>> >
>> > Foo<P> f;
>>
>> for some definition of "invoke" ;-)
>
> I like to think of "operator<>" as the "metafunction call operator". ;>
> It helps me to think of it in a more MPL-like way.
You're misleading yourself, then. "::type" is the metafunction call
operator. "operator<>" is just used for argument binding.
>> [...]
>> In the upcoming version of MPL (very soon now) mpl::apply --
>> which you'll want to use even to invoke metafunction classes
>> portably (no, using P::template apply<whatever>::type doesn't
>> work everywhere) --
>
> Really? Where does that not work?
VC6/7
>> will invoke mpl::lambda internally, so the upshot is that passing
>> either lambda expressions or metafunction classes will work.
>
> Cool. Is "Real Soon Now(TM)" within the next month?
I think so; Aleksey?
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk