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

Extract From a Container 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_container

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

[Note] Note

Интерфейс этой точки настройки был изменен с помощью Boost V1.44. Мы добавили<Exposed>шаблонный параметр, чтобы обеспечить более тонкие зернистые специализации требуемогоДуха. кармаПреобразования атрибутов.

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

См. такжеВключить структуру.

[Note] Note

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

Namespace

Имя

<boost::spirit::traits>

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

Параметр

Описание

по умолчанию

<Exposed>

Тип<Exposed>атрибута, изначально обнажённого компонентом, из которого<extract_from_container>вызывается.

Нет

<Attrib>

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

Нет

<Enable>

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

<void>

<Context>

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

Notation

Notation

Exposed

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

Attrib

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

attr

Свойственный тип<Attrib>.

ctx

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

Expression Semantics

выражение

Семантика

<
extract_from_container<Exposed,Attrib>::call(attr,ctx)
>

Извлеките значение для получения выхода из контанера, данного<attr>, и верните его вызывающему.

Predefined Specializations

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

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

ценность

<Attrib>

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

<unused_type>

<type><type><type><type><unused_type>.<call()>возвращает пример<unused_type>

.
When to implement

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

Example

ТБД


PrevUpHomeNext

Статья Extract From a Container 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-07-05 10:33:14/0.007004976272583/0