[mpl] BOOST_MPL_AUX_LAMBDA_SUPPORT and non-type template parms

Suppose we've got the following: template<typename T, int N> struct foo { typedef ... type; }; and we want to add MPL lambda support for broken compilers. Should we have #1 or #2? //1 template<typename T, int N> struct foo { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,foo,(T)) typedef ... type; }; //2 template<typename T, int N> struct foo { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,foo,(T,N)) typedef ... type; }; The docs on BOOST_MPL_AUX_LAMBDA_SUPPORT seem not to take into account class templates where some params are non-type. Maybe the macro does not work for them? Thank you, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

Joaquín,
Suppose we've got the following:
template<typename T, int N> struct foo { typedef ... type; };
and we want to add MPL lambda support for broken compilers.
'foo' is not an MPL metafunction. From http://www.boost.org/libs/mpl/doc/refmanual/metafunction.html: All metafunction's arguments must be types (i.e. only *type template parameters* are allowed). HTH, -- Aleksey Gurtovoy MetaCommunications Engineering
participants (2)
-
Aleksey Gurtovoy
-
JOAQUIN LOPEZ MU?Z