![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Get the Iterator pointing to the Begin of a Container AttributeBoost , Spirit 2.5.2 , Extract Attribute Values to Generate Output from a Container (Karma)
|
![]() |
Note |
---|---|
Этот файл заголовка не должен быть включен непосредственно какой-либо пользовательской программой, поскольку он обычно включается другими файлами заголовка Spirit, основанными на его содержании. |
Имя |
---|
< |
template <typename Container, typename Enable> struct begin_container { static typename container_iterator<Container>::type call(Container& c); };
Параметр |
Описание |
по умолчанию |
---|---|---|
< |
Тип,< |
Нет |
< |
Параметр шаблона помощника, используемый для выборочного включения или отключения определенных специализаций< |
< |
Notation
C
Тип контейнера, для которого необходимо вернуть начальный итератор.
c
Пример контейнера<C
>.
выражение |
Семантика |
---|---|
< |
Возврат итератора, пригодного для использования, чтобы исключить первый элемент данного контейнера< |
Вернутый экземпляр концептуально должен быть эквивалентен стандартному переднему итератору. Но при этом не нужно раскрывать стандартизированный интерфейс. Если эта точка настройки реализована для определенного типа контейнера, все связанные точки настройки также должны быть реализованы (см.Связанные точки настройки атрибутовниже). Это инкапсулирует конкретный интерфейс итератора, необходимый для данного типа. Минимальные требования к типу, который будет выставлен в качестве итератора в этом контексте:
traits::compare_iterators
>).traits::next_iterator
>).traits::deref_iterator
>).Духпредопределяет специализацию этой точки настройки для нескольких типов. В следующей таблице перечислены эти типы вместе с типами, возвращаемыми встроенным typedef<type
>:
Параметры шаблонов |
Семантика |
---|---|
< |
Возвращение< |
< |
Возвращение< |
< |
Возвращение< |
Точка настройки<begin_container
>должна быть реализована для конкретного типа, когда этот тип должен использоваться в качестве атрибута вместо контейнера STL. Применяется для генераторов.Дух. Только карма. Как правило, он должен быть реализован всякий раз, когда определенный тип должен быть передан в качестве атрибута генератору, обычно обнажающему STL-контейнер<C
>, и если тип не обнажает интерфейс STL-контейнера (то есть<is_container<C>::type
>обычно возвращается<mpl::false_
>).
Если эта точка настройки реализована, могут потребоваться также следующие другие точки настройки.
Имя |
Когда внедрять |
---|---|
Необходимо применять всякий раз, когда тип используется в качестве атрибута контейнера.Карма |
|
Карма:Список< |
|
Карма:Список< |
|
Карма:Список< |
|
Карма:Список< |
|
Карма:Список< |
|
Карма:Список< |
Примеры использования точки настройки<begin_container
>см. здесь:embedded_container_example,use_as_containerиcounter_example.
Статья 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) ::
реклама |