> Yep, to be concrete, 'T::value_type'. Please see the following posts for an > explanation of the shortcoming, as well as for a technique to work around > it: > > http://lists.boost.org/MailArchives/boost/msg39915.php (the relevant part > starts from "Well, having said that..." paragraph) > http://lists.boost.org/MailArchives/boost/msg39930.php (further explanation)
Ah, thanks. I guess those MailArchives are better than the ActiveState ones. > template< class T > > struct meta_fun_1 > : mpl::if_< > mpl::is_placeholder<T> > , mpl::identity<T> > , meta_fun_1_impl<T> > >::type > { > BOOST_MPL_AUX_LAMBDA_SUPPORT( 1, meta_fun_1, (T) ) > }; This works excellent. As a result, my code now compiles on Intel, MSVC and GCC. "... makes small dance ..." Seriously though, I had some funny problems with MSVC. For example, I got the following error on some lines: syntax error : '' That's right, there is nothing in between the quotes. Turns out the following doesn't work on MSVC, in some cases: foo( some_template< N >::type() ); I had to replace those with: typedef some_template< N >::type() bar; foo( bar() ); I had some other interesting things as well. I will add them all to the MPL wiki, as well as the GCC problems. I will also add an item on the lambda situation and the work-arounds. I'm a bit busy this week, but I hope to do it before wednesday. Thanks for all the support. Jaap Suter _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost