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

Macro BOOST_TTI_TRAIT_HAS_TYPE

Boost , Chapter 1. The Type Traits Introspection Library , Header <boost/tti/has_type.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_TRAIT_HAS_TYPE

BOOST_TTI_TRAIT_HAS_TYPE

Synopsis

// In header: <boost/tti/has_type.hpp>
BOOST_TTI_TRAIT_HAS_TYPE(trait, name)

Description

BOOST_TTI_TRAIT_HAS_TYPE — макрос, расширяющийся до метафункции. Метафункция проверяет, существует ли внутренний тип с определенным именем и, необязательно, является ли выражение лямбда, вызванное внутренним типом, истинным или нет.

trait = имя метафункции в пространстве имен tti.

Имя = имя внутреннего типа.

Он генерирует метафункцию, называемую чертой, где черта является макропараметром. шаблонstruct trait { статическое значение const = неуточненное; typedef mpl::bool_type; }; Типы метафункций и возврат: BOOST_TTI_TP_T = прилагаемый тип, в котором нужно искать наше «имя». BOOST_TTI_TP_U = (необязательно) Дополнительный параметр шаблона, по умолчанию для типа маркера. Если это указано, это лямбда-выражение MPL, которое вызывается с найденным внутренним типом и должно возвращать постоянное булево значение. Доходность = «значение» зависит от того, является ли факультативным Указывается BOOST_TTI_TP_U. Если BOOST_TTI_TP_U не указан, то «значение» истинно, если тип «имя» существует в прилагаемом типе. BOOST_TTI_TP_T; в противном случае значение является ложным. Если BOOST_TTI_TP_U указан, то «значение» истинно, если тип «имя» существует в прилагаемом типе. BOOST_TTI_TP_T и лямбда-выражение, указанное BOOST_TTI_TP_U, вызванное прохождением фактического внутреннего типа «имя», возвращает «значение» истинного; в противном случае «значение» является ложным. Действие, предпринятое с BOOST_TTI_TP_U, происходит только тогда, когда тип «имя» существует в прилагаемом типе BOOST_TTI_TP_T.

Пример использования:

BOOST_TTI_TRAIT_HAS_TYPE (LookFor,MyType) генерирует метафункцию LookFor в текущей области для поиска внутреннего типа под названием MyType.

LookFor:: Ценность истинна, если MyType является внутренним типом EnclosingType, иначе ложным.

LookFor:: значение истинно, если MyType является внутренним типом EnclosingType и вызов ALambdaExpression с внутренним типом возвращает значение истинного, иначе ложного.

Популярное использование дополнительного лямбда-выражения MPL заключается в проверке того, является ли найденный тип тем же, что и другой тип, когда найденный тип является типдефом. В этом случае нашим примером будет:

LookFor>:: значение истинно, если MyType является внутренним типом EnclosingType и является тем же типом, что и SomeOtherType.


PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 01:03:05/0.0065009593963623/1