После обзора VMD я значительно упростил основные интерфейсы и добавил дополнительные функциональные возможности в виде модификаторов. Основными изменениями являются добавление множества общих макросов для последовательностей и расширение типов для включения типа v.
Добавлен макрос Boost_VMD_ELEM.
Добавлен макрос Boost_VMD_EQUAL.
Добавлено Boost_VMD_NOT_EQUAL Макро.
Добавлен макрос Boost_VMD_IS_MULTI.
Добавлен макрос Boost_VMD_IS_TYPE.
Добавлен макрос Boost_VMD_ASSERT_IS_TYPE.
Добавлен макрос Boost_VMD_IS_UNARY.
Добавлен макрос Boost_VMD_SIZE.
Заменили макросом BOOST_VMD_ELEM, используя модификаторы, ряд макросов, которые были устранены. Это:
Boost_VMD_IDENTIFER
BOOST_VMD_BEGIN_IDENTIFIER
BOOST_VMD_AFTER_IDENTIFIER
BOOST_VMD_IS_BEGIN_IDENTIFIER
BOOST_VMD_NUMBER
BOOST_VMD_BEGIN_NUMBER
BOOST_VMD_AFTER_NUMBER
BOOST_VMD_IS_BEGIN_NUMBER
BOOST_VMD_ARRAY
BOOST_VMD_BEGIN_ARRAY
BOOST_VMD_AFTER_ARRAY
BOOST_VMD_IS_BEGIN_ARRAY
BOOST_VMD_LIST
BOOST_VMD_BEGIN_LIST
BOOST_VMD_AFTER_LIST
BOOST_VMD_IS_BEGIN_LIST
BOOST_VMD_SEQ
BOOST_VMD_BEGIN_SEQ
BOOST_VMD_AFTER_SEQ
BOOST_VMD_IS_BEGIN_SEQ
BOOST_VMD_TUPLE
BOOST_VMD_BEGIN_TUPLE
BOOST_VMD_AFTER_TUPLE
BOOST_VMD_IS_BEGIN_TUPLE
Каждый макрос имеет свой собственный файл заголовка.
Удалены все функции, дублированные вариадной макрофункцией, добавленной в Boost PP.
Снято понятие «родного» и «pplib» режимов.
Используйте макрос BOOST_PP_VARIADICS из библиотеки Boost PP для определения вариадной макродоступности и удалите нативный макрос для определения этого из этой библиотеки.
Обновленная документация, особенно для предоставления более полной информации об использовании макроса BOOST_VMD_EMPTY и его недостатках и использовании с Visual C++.
Изменили структуру каталога, чтобы придерживаться структуры Modular Boost.