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

Macro BOOST_TTI_HAS_TEMPLATE

Boost , Chapter 1. The Type Traits Introspection Library , Header <boost/tti/has_template.hpp>

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

Macro BOOST_TTI_HAS_TEMPLATE

BOOST_TTI_HAS_TEMPLATE — Expands to a metafunction which tests whether an inner class template with a particular name exists.

Synopsis

// In header: <boost/tti/has_template.hpp>
BOOST_TTI_HAS_TEMPLATE(...)

Description

... = переменные параметры. Первый вариадный параметр — это название шаблона внутреннего класса. Следующие вариадные параметры являются необязательными. Если не существует следующих вариадных параметров, то интроспектируемым шаблоном внутреннего класса должны быть все параметры типа шаблона (параметры шаблона, начинающиеся с «класса» или «имя типа»), и может произойти любое количество параметров типа шаблона. Если второй вариадный параметр является BOOST_PP_NIL и не указан другой вариадный параметр, то, как и в предыдущем случае, интроспектируемый шаблон внутреннего класса должен иметь все параметры типа шаблона (параметры шаблона, начинающиеся с «класса» или «имя типа»), и может произойти любое количество параметров типа шаблона. Эта форма допускается для согласования с использованием невариадной формы этого макроса. Если второй вариадный параметр представляет собой массив библиотеки предварительного процессора Boost, и никакой другой вариадный параметр не дается, то шаблон внутреннего класса должен иметь свои шаблонные параметры, соответствующие последовательности в кортежной части массива Boost PP. Эта форма допускается для согласования с использованием невариадной формы этого макроса. В противном случае шаблон внутреннего класса должен иметь свои шаблонные параметры, соответствующие последовательности необязательных вариадных параметров.

генерирует метафункцию, называемую «has_template_’name», где «имя» является первым вариадным параметром. шаблонstruct has_template_'name' { статическое значение const = неуточненное; typedef mpl::bool_type; }; Типы метафункций и возврат: BOOST_TTI_TP_T = прилагаемый тип, в котором искать наше «имя». возврат = «значение» является истинным, если шаблон «имя» существует в прилагаемом типе, в противном случае «значение» является ложным.

Примеры:

1) Поиск шаблона внутреннего класса под названием «MyTemplate» со всеми параметрами типа шаблона, вложенными в класс «MyClass».

BOOST_TTI_HAS_TEMPLATE (MyTemplate)

или

BOOST_TTI_HAS_TEMPLATE(MyTemplate,BOOST_PP_NIL) // Невариадная макроформа

has_template_MyTemplate::value

Это составная временная булева постоянная, которая является либо «истинной», либо «ложной», если вложенный шаблон существует.

2) Поиск шаблона внутреннего класса под названием "MyTemplate" с параметрами шаблона "class T,int x,templateclass U", вложенных в класс "MyClass".

BOOST_TTI_HAS_TEMPLATE (MyTemplate,class,int,templateclass)

или

BOOST_TTI_HAS_TEMPLATE(MyTemplate,(3,(class,int,templateclass))) // Невариадная макроформа

has_template_MyTemplate::value

Это составная временная булева постоянная, которая является либо «истинной», либо «ложной», если вложенный шаблон существует.


PrevUpHomeNext

Статья Macro BOOST_TTI_HAS_TEMPLATE раздела Chapter 1. The Type Traits Introspection Library Header <boost/tti/has_template.hpp> может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Header <boost/tti/has_template.hpp> ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:56:55/0.0083518028259277/1