После обзора 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.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.