Aleksey Gurtovoy <[EMAIL PROTECTED]> writes: > If you are tired of angle brackets in your templates (no, it's not a TV > commercial :), may be you'll like this one: > > typedef eval< > count_if( > list(int,char,long,int) > , lambda(is_same(_,int)) > ) > >::type res; > > BOOST_STATIC_ASSERT(res::value == 2); > > Or this one: > > typedef eval< > find_if( > filter_view( > list(int,float,char,long,double) > , lambda(not_(is_float(_))) > ) > , lambda( or_( > is_same(_,short) > , less(sizeof_(_),sizeof_(int)) > ) ) > ) > >::type iter; > > typedef eval< is_same(iter::type,char) >::type res2; > > BOOST_STATIC_ASSERT(res2::value); > > The above actually compiles on Comeau C/C++ 4.3.0.1 and Intel C++ 6.0 with > the current MPL sources in the CVS; see > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/boost/boost/libs/m > pl/example/lambda2.cpp for an example. Note that the "factorial" snippet > there doesn't work yet (if you ask 'fact::value', it will blow).
Interesting. Like Dirk, I too am wondering what the point is, beyond syntactic sugar. I notice the namespace "mpl::v2_1" in the code. Shouldn't we have completed MPL documentation before moving on to things like this? -- David Abrahams [EMAIL PROTECTED] * http://www.boost-consulting.com Boost support, enhancements, training, and commercial distribution _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost