Macro BOOST_VMD_IDENTITY
BOOST_VMD_IDENTITY — Macro which expands to its argument when invoked with any number of parameters.
Synopsis
Description
пункт = любой аргумент
Когда BOOST_VMD_IDENTITY(item) впоследствии используется с любым количеством параметров, он расширяется до «элемента». Впоследствии ссылка на макрос делается как «BOOST_VMD_IDENTITY(item) (zero_or_more_arguments)».
Макро эквивалентен PP макро BOOST_PP_IDENTITY(item) с разницей в том, что BOOST_PP_IDENTITY(item) всегда используется без аргументов, как в 'BOOST_VMD_IDENTITY(item)()', тогда как BOOST_VMD_IDENTITY можно ссылаться с любым количеством аргументов.
Макро предназначен для использования в заявлениях BOOST_PP_IF и BOOST_PP_IIF, когда только одно из положений необходимо использовать при вызове другого макроса, а другое предназначено для возврата "элемента".
возвращает = макро как 'BOOST_VMD_IDENTITY(item)', когда используется любое количество параметров, как в '(zero_or_more_arguments), возвращает 'item'. Сам макрос возвращает «пункт BOOST_VMD_EMPTY».