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

Chapter 1. The Variadic Macro Data Library 1.9

Boost , 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

Next

Chapter 1. The Variadic Macro Data Library 1.9

Edward Diener

Содержание

Introduction
Naming conventions
Why and how to use
Using variadic macros
Visual C++ define
Functional groups
Data types
Specific macros for working with data types
Emptiness
Macro constraints
Identifiers
Numbers
Types
VMD and Boost PP data types
Identifying data types
Generic macros for working with data types
Parsing sequences
Converting sequences
Accessing a sequence element
Getting the type of data
Testing for equality and inequality
Macros with modifiers
Return type modifiers
Filtering modifiers
Identifier modifiers
Splitting modifiers
Index modifiers
Modifiers and the single-element sequence
Identifier subtypes
Useful variadic macros not in Boost PP
Asserting and data types
Generating emptiness and identity
Functionality for "empty" seqs and tuples
Controlling internal usage
Boost PP re-entrant versions
Input as dynamic types
Visual C++ gotchas in VMD
Version 1.7 to 1.8 conversion
Examples using VMD functionality
Variadic Macro Data Reference
Header <boost/vmd/array/to_seq.hpp>
Header <boost/vmd/list/to_seq.hpp>
Header <boost/vmd/to_seq.hpp>
Header <boost/vmd/tuple/to_seq.hpp>
Header <boost/vmd/array/to_tuple.hpp>
Header <boost/vmd/list/to_tuple.hpp>
Header <boost/vmd/seq/to_tuple.hpp>
Header <boost/vmd/to_tuple.hpp>
Header <boost/vmd/assert.hpp>
Header <boost/vmd/assert_is_array.hpp>
Header <boost/vmd/assert_is_empty.hpp>
Header <boost/vmd/assert_is_identifier.hpp>
Header <boost/vmd/assert_is_list.hpp>
Header <boost/vmd/assert_is_number.hpp>
Header <boost/vmd/assert_is_seq.hpp>
Header <boost/vmd/assert_is_tuple.hpp>
Header <boost/vmd/assert_is_type.hpp>
Header <boost/vmd/elem.hpp>
Header <boost/vmd/empty.hpp>
Header <boost/vmd/enum.hpp>
Header <boost/vmd/equal.hpp>
Header <boost/vmd/get_type.hpp>
Header <boost/vmd/identity.hpp>
Header <boost/vmd/is_array.hpp>
Header <boost/vmd/is_empty.hpp>
Header <boost/vmd/is_empty_array.hpp>
Header <boost/vmd/is_empty_list.hpp>
Header <boost/vmd/is_identifier.hpp>
Header <boost/vmd/is_list.hpp>
Header <boost/vmd/is_multi.hpp>
Header <boost/vmd/is_number.hpp>
Header <boost/vmd/is_parens_empty.hpp>
Header <boost/vmd/is_seq.hpp>
Header <boost/vmd/is_tuple.hpp>
Header <boost/vmd/is_type.hpp>
Header <boost/vmd/is_unary.hpp>
Header <boost/vmd/not_equal.hpp>
Header <boost/vmd/seq/is_vmd_seq.hpp>
Header <boost/vmd/seq/pop_back.hpp>
Header <boost/vmd/tuple/pop_back.hpp>
Header <boost/vmd/seq/pop_front.hpp>
Header <boost/vmd/tuple/pop_front.hpp>
Header <boost/vmd/seq/push_back.hpp>
Header <boost/vmd/tuple/push_back.hpp>
Header <boost/vmd/seq/push_front.hpp>
Header <boost/vmd/tuple/push_front.hpp>
Header <boost/vmd/seq/remove.hpp>
Header <boost/vmd/tuple/remove.hpp>
Header <boost/vmd/seq/size.hpp>
Header <boost/vmd/size.hpp>
Header <boost/vmd/tuple/size.hpp>
Header <boost/vmd/seq/to_array.hpp>
Header <boost/vmd/to_array.hpp>
Header <boost/vmd/tuple/to_array.hpp>
Header <boost/vmd/seq/to_list.hpp>
Header <boost/vmd/to_list.hpp>
Header <boost/vmd/tuple/to_list.hpp>
Header <boost/vmd/tuple/is_vmd_tuple.hpp>
Design
Compilers
History
Acknowledgements
Index

Добро пожаловать в версию 1.9 библиотеки данных Variadic Macro.

Библиотека данных Variadic Macro, называемая далее VMD для краткости, представляет собой библиотеку вариадных макросов, которые обеспечивают улучшение функциональности в библиотеке препроцессоров Boost (Boost PP), особенно в том, что касается препроцессорных «типов данных».

Функциональность библиотеки можно суммировать следующим образом:

  1. Обеспечить лучший способ тестирования и использования пустых параметров и пустых данных препроцессора.
  2. Предоставьте способы тестирования / парсинга для идентификаторов, чисел, типов, кортежей, массивов, списков и seqs.
  3. Предоставить способы тестирования/парсинга последовательностей идентификаторов, чисел, типов, кортежей, массивов, списков. и сек.
  4. Предоставьте несколько полезных вариадных макросов не в Boost PP.

Библиотека является библиотекой только заголовка, и все макросы в библиотеке включены одним заголовком, имя которого «vmd.hpp». Отдельные заголовки могут использоваться для различных функций в библиотеке и будут обозначены, когда эта функциональность будет объяснена.

Все макросы в библиотеке начинаются с последовательности «BOOST_VMD_», чтобы отличить их от других макросов, которые может использовать конечный пользователь. Поэтому конечный пользователь не должен использовать какие-либо идентификаторы C++, будь то в макросах или иным образом, которые находятся с последовательностью «BOOST_VMD_».

Использование библиотеки зависит только от PP. Библиотека также использует детали Boost lightweight_test.hpp для собственных тестов.

Последний пересмотр: 21 сентября 2016 в 14:42:43 GMT


Next

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




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



:: Главная :: ::


реклама


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

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