Macro BOOST_VMD_IS_IDENTIFIER
BOOST_VMD_IS_IDENTIFIER — Tests whether a parameter is an identifier.
Synopsis
BOOST_VMD_IS_IDENTIFIER(...)
Description
... = переменные параметры
Требуется первый вариадный параметр, и он является входом для тестирования.
Дополнительные вариадные параметры являются необязательными и являются идентификаторами для соответствия. Данные могут принимать одну из двух форм; это либо один или несколько одиночных идентификаторов, либо один набор идентификаторов Boost PP.
возвращает = 1 если параметр является идентификатором, в противном случае 0. Если параметр не является идентификатором или если указаны дополнительные идентификаторы и идентификатор не соответствует любому из дополнительных идентификаторов, макрос возвращает 0.
Идентификаторы зарегистрированы в VMD с: #define BOOST_VMD_REG_XXX (XXX), где XXX является v-идентификатором.
Идентификатор должен быть зарегистрирован, чтобы быть найденным.
Идентификаторы предварительно обнаруживаются в VMD: #define BOOST_VMD_DETECT_XXX_XXX где XXX - идентификатор.
Если вы указываете необязательные идентификаторы и не указали обнаружение необязательного идентификатора, этот необязательный идентификатор никогда не будет соответствовать входу.
Если вход не является типом данных VMD, этот макрос может привести к ошибке препроцессора. Это связано с тем, что макрос использует конкатенацию препроцессора, чтобы определить, является ли вход идентификатором, как только будет определено, что вход не начинается с скобки. Если конкатенированные данные приводят к недействительному маркеру препроцессора, компилятор может выпустить ошибку препроцессора.