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

Get the Iterator pointing to the Begin of a Container Attribute

Boost , Spirit 2.5.2 , Extract Attribute Values to Generate Output from a Container (Karma)

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
begin_container

Шаблон<begin_container>— это тип, используемый в качестве точки настройки атрибута. На него ссылаетсяКарма.повторяющиеся генераторы (такие какСписок (<%>),Клин (унитарный<*>),Плюс (унар.<+>)иПовторитьдля того, чтобы получить итератор, указывающий на первый элемент контейнера, держащего атрибуты для получения выхода из.

Module Headers
#include <boost/spirit/home/support/container.hpp>

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

[Note] Note

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

Namespace

Имя

<boost::spirit::traits>

Synopsis
template <typename Container, typename Enable>
struct begin_container
{
    static typename container_iterator<Container>::type
    call(Container& c);
};
Template parameters

Параметр

Описание

по умолчанию

<Container>

Тип,<Container>для которого итератор, указывающий на первый элемент, должен быть возвращен

Нет

<Enable>

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

<void>

Notation

C

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

c

Пример контейнера<C>.

Expression Semantics

выражение

Семантика

<begin_container<C>::call(c)>

Возврат итератора, пригодного для использования, чтобы исключить первый элемент данного контейнера<c>. Тип возвращаемого итератора, как ожидается, будет таким же, как тип, возвращаемый точкой настройки<traits::container_iterator>

.

Вернутый экземпляр концептуально должен быть эквивалентен стандартному переднему итератору. Но при этом не нужно раскрывать стандартизированный интерфейс. Если эта точка настройки реализована для определенного типа контейнера, все связанные точки настройки также должны быть реализованы (см.Связанные точки настройки атрибутовниже). Это инкапсулирует конкретный интерфейс итератора, необходимый для данного типа. Минимальные требования к типу, который будет выставлен в качестве итератора в этом контексте:

Predefined Specializations

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

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

Семантика

<C>

Возвращение<c.begin()>

.

<Cconst>

Возвращение<c.begin()>

.

<unused_type>

Возвращение<&unused>

When to implement

Точка настройки<begin_container>должна быть реализована для конкретного типа, когда этот тип должен использоваться в качестве атрибута вместо контейнера STL. Применяется для генераторов.Дух. Только карма. Как правило, он должен быть реализован всякий раз, когда определенный тип должен быть передан в качестве атрибута генератору, обычно обнажающему STL-контейнер<C>, и если тип не обнажает интерфейс STL-контейнера (то есть<is_container<C>::type>обычно возвращается<mpl::false_>).

Related Attribute Customization Points

Если эта точка настройки реализована, могут потребоваться также следующие другие точки настройки.

Example

Примеры использования точки настройки<begin_container>см. здесь:embedded_container_example,use_as_containerиcounter_example.


PrevUpHomeNext

Статья Get the Iterator pointing to the Begin of a Container Attribute раздела Spirit 2.5.2 Extract Attribute Values to Generate Output from a Container (Karma) может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Extract Attribute Values to Generate Output from a Container (Karma) ::


реклама


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

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