David Abrahams
on Fri Jul 27 2007, "JOAQUIN LOPEZ MU?Z"
wrote: According to the MPL reference, a placeholder expression X
must satisfy (among others) the following condition: "All of X's template parameters, including the default ones, are types."
According to that the following should then compile without errors: [...] I don't see how you can conclude the above will compile without error just from (a part of) the definition of placeholder expression.
Are you saying that since foo<_1> is not a placeholder expression, when applied to int it should be treated as a metafunction class?
Yes, this is exactly my point. Another way in which foo<_1>
can be forced to not be treated as a ph expression is this:
// no of parms > BOOST_MPL_LIMIT_METAFUNCTION_ARITY
template