
David Bergman writes:
Aleksey Gurtovoy wrote:
Joaquín López Muñoz writes:
Please correct if I'm wrong, but I'd say the official definition for a MPL lambda expression:
http://boost.org/libs/mpl/doc/refmanual/lambda-expression.html
actually encompasses both metafunction classes and placeholder expressions ("proper" lambda expressions, if you wish), so "lambda expression" is the common name you're after. Am I missing something?
Nope, you are 100% correct.
Ok, so
struct Map { template<typename T> struct apply { typedef int type; }; };
is a "lambda expression" then?
One of its forms, and among other things, yes.
A bit weird in my book, but if that is the official nomenclature for MPL, I will use it...
By the way, Aleksey, what do you think of calling anything applicable via mpl::apply a "metafunctor"?
Being one of these people who frown upon the term "functor" (http://groups.google.com/group/boost-list/msg/d3d7546f3e8b1188), I'm not in favor of this one, for obvious reasons :). -- Aleksey Gurtovoy MetaCommunications Engineering