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

Data types

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

Библиотека VMD имеет функциональность для тестирования и анализа данных препроцессора.

Препроцессор C++ определяет препроцессорные данные как токены предварительной обработки. Типы токенов предварительной обработки можно увидеть в разделе 2.5 стандартного документа C++.

Библиотека VMD работает с подмножеством двух из этих типов препроцессорных токенов как «типы данных». Это «идентификатор» и препроцессорные токены «pp-number». Типы токенов препроцессора, которые VMD не может разобрать:

  • название заголовка
  • буквальный
  • определяемый пользователем характерный буквальный
  • струнный буквальный
  • определяемая пользователем строка
  • предварительная обработка-op-or-punc

Несмотря на то, что VMD не может анализировать эти типы препроцессорных токенов, она по-прежнему является очень полезной библиотекой, поскольку большая часть макропрограммирования работает с токенами «идентификатор» и «pp-число».

Идентификаторы VMD представляют собой токены предварительной обработки, состоящие из буквенно-цифровых символов и символа подчеркивания (_). Это очень похоже на «идентификатор» токена препроцессора с той разницей, что идентификатор VMD может начинаться с числового символа, что позволяет идентификаторам VMD также быть положительными интегральными буквами. VMD предлагает функциональность для разбора идентификаторов VMD как в виде отдельного элемента, так и в последовательности токенов предварительной обработки.

Номера VMD - это номера Boost PP, то есть токены предварительной обработки целых чисел от 0 до 256 включительно. Это небольшое подмножество препроцессорного токена «pp-число». VMD предлагает функциональность для разбора чисел как в виде отдельного элемента, так и в последовательности токенов предварительной обработки. Номер VMD - это подмножество идентификаторов VMD, для которых VMD предлагает определенную функциональность. Библиотека Boost PP имеет обширную поддержку чисел, которую VMD не дублирует.

VMD v-типы представляют собой, как и числа, подмножество идентификаторов VMD, состоящих из идентификаторов, начинающихся с BOOST_VMD_TYPE_, за которыми следует мнемонический тип данных. Каждый тип v может быть распознан по функциональности VMD и, следовательно, передан или возвращен макросами. Как и любой идентификатор, v-тип может быть разобран как отдельный элемент, так и в последовательности токенов предварительной обработки.

VMD также может тестировать на пустоту или отсутствие каких-либо токенов предварительной обработки при передаче в качестве макросъемки.

Библиотека Boost PP поддерживает четыре отдельных типа данных высокого уровня. Это и списки, и списки, и списки. При использовании вариадных макросов массивы действительно устарели, так как кортежи обладают всей функциональностью массивов с более простым синтаксисом. Тем не менее, массивы полностью поддерживаются VMD. Другим типом данных, поддерживаемым Boost PP, являются вариадные данные, которые представляют собой разделенную запятую группу препроцессорных элементов. VMD не имеет специальной поддержки вариадных данных за пределами того, что уже есть в Boost PP.

VMD имеет функциональность для работы с четырьмя типами данных высокого уровня. VMD может тестировать типы данных Boost PP и анализировать их в последовательности препроцессорных токенов.

VMD также может анализировать последовательности. Последовательность состоит из нуля или более других типов данных верхнего уровня, представленных последовательно. Как таковая последовательность представляет собой любой тип данных, который VMD может анализировать, поскольку он может состоять из пустоты, одного типа данных или нескольких типов данных, представленных последовательно.

Пустота, три типа идентификаторов, четыре типа композитных данных Boost PP и последовательности VMD - это типы данных, которые понимает VMD. Другие низкоуровневые препроцессорные типы данных, конечно, могут использоваться в макропрограммировании, но VMD не может анализировать такие препроцессорные данные.


PrevUpHomeNext

Статья Data types раздела 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-07-04 20:16:39/0.0062520503997803/0