
"Aleksey Gurtovoy" <agurtovoy@meta-comm.com> wrote in message:
MPL changelog for 1.32 release ******************************
1. Nullary metafunction classes are no longer special-cased, and are *not* identical to nullary metafunctions:
+-------------------------+---------------+---------------------------+ | Nullary... | Before | Now | +=========================+===============+===========================+ | metafunction | ``f::type`` | ``f::type`` | +-------------------------+---------------+---------------------------+ | metafunction class | ``c::type`` | ``c::apply<>::type`` or | | | | ``c::apply::type`` [1]_ | +-------------------------+---------------+---------------------------+
Great! This asymmetry has bothered me for a long time.
4. ``<boost/mpl/assert_is_same.hpp>`` header has been replaced by a more general ``<mpl/assert.hpp>``; the new asserts provide a significantly higher-quality diagnostics. See the table below for the new equivalents of the old macros:
+-------------------------------------------+----------------------------------- ------------------+
| Before | Now
|
+===========================================+=================================== ==================+
| ``BOOST_MPL_ASSERT_IS_SAME(t1, t2)`` | ``BOOST_MPL_ASSERT((
boost::is_same<t1,t2> ))`` |
+-------------------------------------------+----------------------------------- ------------------+
| ``BOOST_MPL_ASSERT_IS_NOT_SAME(t1, t2)`` | ``BOOST_MPL_ASSERT_NOT((
boost::is_same<t1,t2> ))`` |
+-------------------------------------------+----------------------------------- ------------------+ I liked BOOST_MPL_ASSERT_IS_SAME because I didn't have to use double parantheses. For the other uses now supported by BOOST_MPL_ASSERT, I could just use BOOST_STATIC_ASSERT. 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? Best Regards, Jonathan