
"David Abrahams" <dave@boost-consulting.com> wrote in message news:ueklijfsm.fsf@boost-consulting.com...
"Jonathan Turkanis" <technews@kangaroologic.com> writes:
I liked BOOST_MPL_ASSERT_IS_SAME because I didn't have to use double parantheses.
But you were out of luck if one of the types contained commas.
BOOST_MPL_ASSERT_IS_SAME(T, pair<int, long>) // error!
and no amount of parenthesization could fix it.
True -- I guess that's when I switch to typedefs.
For the other uses now supported by BOOST_MPL_ASSERT, I could just use BOOST_STATIC_ASSERT.
You can always code your own ASSERT_IS_SAME.
#define ASSERT_IS_SAME(x,y) BOOST_MPL_ASSERT((boost::is_same<x,y>))
I'm aware of that.
There are too many other predicates that people want to assert to make is_same a special case in the library.
BOOST_MPL_ASSERT_IS_SAME was just a thin wrapper around BOOST_STATIC_ASSERT, right? Looking as boost/mpl/assert.hpp, I see what's going on now -- Sorry.
BTW, I remember that the reference documentation on boost consulting (or somewhere) used to include documentation of some important macros. Why not add this to the main docs?
Aleksey's working on the brand new documentation; the intention is to document everything that the user can configure. If there are particular things you want to see documented, please be specific.
BOOST_MPL_AUX_LAMBDA_SUPPORT was the main one. It appear to be part of the docs, but I don't see a link to it. Jonathan