THE BOOST MPL LIBRARY: Renaming/Cleanup

Front Page / Changelog & History / Changes in Boost 1.32.0 Release / Renaming/Cleanup

# Renaming/Cleanup

1. The `apply_if` metafunction has been renamed to `eval_if`.

2. All `_backward` algorithm counterparts have been renamed to use `reverse_` prefix; e.g. `fold_backward` became `reverse_fold`.

3. The `<boost/mpl/aux_/has_xxx.hpp>` header has been made public and became `<boost/mpl/has_xxx.hpp>`; correspondingly, the `BOOST_MPL_NO_AUX_HAS_XXX` macro was renamed to `BOOST_MPL_CFG_NO_HAS_XXX`.

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 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> ))`

   The "Macros/Asserts" section of the reference manual provides a complete formal specification of the new macros' semantics.

5. All configuration macros have been renamed to include the `CFG` prefix; in particular, `BOOST_MPL_NO_FULL_LAMBDA_SUPPORT` has become `BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT`.

6. The following public headers/components have been renamed or removed as obsolete:

       iterator_tag.hpp (renamed to iterator_tags.hpp)
       project1st.hpp
       project2nd.hpp
       select1st.hpp
       select2nd.hpp