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

Extract an Attribute Value to Generate Output (Karma)

Boost , Spirit 2.5.2 , Customization of Spirit's Attribute Handling

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
extract_from

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

[Note] Note

Интерфейс этой точки настройки был изменен с Boost V1.44. Мы добавили параметр Expos шаблона, чтобы обеспечить более тонкие зерновые специализации необходимых Spirit.Karma преобразования атрибутов.

Module Headers
#include <boost/spirit/home/karma/detail/extract_from.hpp>

Также см. Include Structure.

[Note] Note

Этот файл заголовка не должен быть включен непосредственно любой пользовательской программой, поскольку он обычно включен другими файлами заголовка Spirit, основанными на его содержании.

Namespace

Имя

boost::spirit::traits

Synopsis
template <typename Exposed, typename Attrib, typename Enable>
struct extract_from_attribute
{
    typedef <unspecified> type;
    template <typename Context>
    static type call(Attrib const& attr, Context& context);
};
Template parameters

Параметр

Описание

По умолчанию

Предлагается

Тип, Исключенный атрибута, который изначально подвергается воздействию компонента extract_from_attribute, используется.

Attrib

Тип, Attrib атрибута, который будет использоваться для получения выходной информации.

Включить

Шаблон-помощник используется для выборочного включения или отключения определенных специализаций clear_value с использованием SFINAE (т.е. boost::enable_if или boost::disable_if).

void

Контекст

Это тип текущего контекста выполнения генератора.

Notation

Exposed

Тип, открытый как родной атрибут компонента.

Attrib

Тип, который должен использоваться для получения выходной информации.

attr

Пример атрибута типа Attrib.

ctx

Пример типа Context.

Expression Semantics

Выражение

Семантика

extract_from_attribute<Expos, Attrib>::call(attr, ctx)

Вычтите значение для генерации вывода из attr и верните его звонителю.

Predefined Specializations

Спирит предопределяет специализации этой точки настройки для нескольких типов. В следующей таблице перечислены эти типы вместе с раскрытыми типами и соответствующей семантикой:

Параметры шаблона

Семантика

Attrib

Выдержанный тип type определяется как Attrib const&. Функция call() возвращает аргумент путем ссылки без изменений.

boost::

Выдержанный тип type определяется как Attrib const&. Функция call() возвращает значение, удерживаемое факультативно< аргумент без изменений.

boost::reference_wrapper<Attrib>

Выдержанный тип type определяется как Attrib const&. Функция call() возвращает значение reference_wrapper> аргумент без изменений.

неиспользуемый_тип

Выдержанный тип type определяется как неиспользуемый_type. Функция call() возвращает экземпляр неиспользованный_type.

When to implement

Точка настройки extract_from_attribute должна быть реализована для конкретного типа, когда реализация по умолчанию, как показано выше, не применима. Примерами для этого может быть то, что тип, который должен быть извлечен, отличается от Attrib и не является копируемым.


PrevUpHomeNext

Статья Extract an Attribute Value to Generate Output (Karma) раздела Spirit 2.5.2 Customization of Spirit's Attribute Handling может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Customization of Spirit's Attribute Handling ::


реклама


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

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