Почти все макросы в VMD имеют эквивалентные версии, которые предназначены для использования в цикле BOOST_PP_WHILE. Это версии, которые имеют суффикс подчеркивания D, принимают следующую доступную итерацию BOOST_PP_WHILE в качестве своего первого параметра, а затем имеют ту же функциональность, что и их несуффиксированные эквиваленты. Можно использовать в BOOST_PP_ Хотя циклы обеспечивают немного более быструю предварительную обработку, но в качестве документации для BOOST_PP_ Хотя и BOOST_PP_WHILE_##d объясняют, они не должны использоваться.
Эти макросы являются:
Стрелки
BOOST_VMD_IS_ARRAY_D
BOOST_VMD_IS_EMPTY_ARRAY_D
BOOST_VMD_ASSERT_IS_ARRAY_D
Идентификаторы
BOOST_VMD_IS_IDENTIFIER_D
BOOST_VMD_ASSERT_IS_IDENTIFIER_D
Списки
BOOST_VMD_IS_LIST_D
BOOST_VMD_IS_EMPTY_LIST_D
BOOST_VMD_ASSERT_IS_LIST_D
Последовательности
BOOST_VMD_ELEM_D
BOOST_VMD_ENUM_D
BOOST_VMD_EQUAL_D
BOOST_VMD_GET_TYPE_D
BOOST_VMD_IS_MULTI_D
BOOST_VMD_IS_UNARY_D
BOOST_VMD_NOT_EQUAL_D
BOOST_VMD_SIZE_D
BOOST_VMD_TO_ARRAY_D
BOOST_VMD_TO_LIST_D
BOOST_VMD_TO_SEQ_D
BOOST_VMD_TO_TUPLE_D
Сек
BOOST_VMD_IS_SEQ_D
BOOST_VMD_ASSERT_IS_SEQ_D
Типы
BOOST_VMD_IS_TYPE_D
BOOST_VMD_ASSERT_IS_TYPE_D
Другой
BOOST_VMD_IS_PARENS_EMPTY_D
Статья Boost PP re-entrant versions раздела Chapter 1. The Variadic Macro Data Library 1.9 Chapter 1. The Variadic Macro Data Library 1.9 может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.