Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Using variadic macros

Boost , Chapter 1. The Variadic Macro Data Library 1.9 , Chapter 1. The Variadic Macro Data Library 1.9

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Вариадные макросы, как указано в C++11, являются особенностью, взятой из спецификации C99. Это макросы, которые принимают окончательный параметр, обозначаемый как «...», который представляет один или несколько окончательных аргументов для макроса в виде серии токенов, разделенных запятыми. В макрорасширении специальное ключевое слово «__VA_ARGS__» представляет токены, разделенные запятой. Эту информацию при передаче вариадному макросу я называю «вариадическими макроданными», что дает название этой библиотеке. Более общий термин «вариадные данные» используется в этой документации для указания данных, передаваемых макросу, который может содержать любое количество макрокенов в качестве одного макропараметра, например, в типах данных Boost PP.

Boost support

Библиотека Boost PP имеет поддержку вариадных макросов и использует свои собственные критерии, чтобы определить, имеет ли конкретный компилятор эту поддержку. Boost PP определяет или использует макрос BOOST_PP_VARIADICS для обозначения того, поддерживает ли используемый компилятор вариадные макросы. Когда BOOST_PP_VARIADICS Настроенный на 1 компилятор поддерживает вариадные макросы, в противном случае, когда BOOST_PP_VARIADICS установлен на 0, компилятор не поддерживает вариадные макросы. Если пользователь Boost PP устанавливает это значение, Boost PP использует значение, установленное конечным пользователем, в противном случае Boost PP определяет значение BOOST_PP_VARIADICS на основе собственного анализа используемого компилятора. Этот макрос также может быть проверен, чтобы определить, имеет ли компилятор поддержку вариадных макросов.

Determining variadic macro support

Библиотека VMD автоматически определяет, включена ли вариадная макроподдержка для конкретного компилятора, также используя тот же макрос BOOST_PP_VARIADICS от Boost PP. Конечный пользователь VMD также может вручную установить макрос BOOST_PP_VARIADICS для включения или выключения поддержки компилятора для вариадных макросов в библиотеке VMD. Когда BOOST_PP_VARIADICS Настроен на 0 вариадных макросов, не поддерживаемых в библиотеке VMD, в противном случае, когда BOOST_PP_VARIADICS установлен на ненулевой уровень, они поддерживаются в библиотеке VMD. Этот же макрос может быть использован для определения того, поддерживает ли VMD вариадные макросы для конкретного компилятора.

Поскольку эта библиотека зависит от вариадной макроподдержки, если BOOST_PP_VARIADICS установлен на 0, использование любого из макросов в VMD приведет к ошибке компилятора, поскольку макрос не будет определен. Однако простое включение любого из файлов заголовка в VMD, даже без вариадной макроподдержки компилятора, не приведет к ошибкам компилятора.


PrevUpHomeNext

Статья Using variadic macros раздела Chapter 1. The Variadic Macro Data Library 1.9 Chapter 1. The Variadic Macro Data Library 1.9 может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Chapter 1. The Variadic Macro Data Library 1.9 ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 18:50:19/0.027992963790894/1