![]() |
![]() ![]() ![]() ![]() |
![]() |
Get the Iterator pointing to the End 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 end_container { static typename container_iterator<Container>::type call(Container& c); };
|
Параметр |
Описание |
По умолчанию |
|---|---|---|
|
Тип, |
нет |
|
Параметр шаблона помощника, используемый для выборочного включения или отключения определенных специализаций |
|
Notation
CТип контейнера, для которого должен быть возвращен конечный итератор.
cПример контейнера, C.
|
Выражение |
Семантика |
|---|---|
|
Возврат итератора, пригодного для сравнения с другим итератором, чтобы определить, достиг ли другой итератор конца данного контейнера, |
Spirit предопределяет специализацию этой точки настройки для нескольких типов. В следующей таблице перечислены эти типы вместе с типами, возвращаемыми встроенным typedef type:
|
Параметры шаблонов |
Семантика |
|---|---|
|
Возврат |
|
Возврат |
|
Возврат |
Точка настройки end_container должна быть реализована для конкретного типа, когда этот тип должен использоваться в качестве атрибута вместо контейнера STL. Он применим только для генераторов (Spirit.Karma). Как правило, он должен быть реализован всякий раз, когда определенный тип должен быть передан в качестве атрибута генератора, обычно обнажающего STL-контейнер, C и если тип не обнажает интерфейс STL-контейнера (т.е. is_container<C>::type обычно возвращает mpl::false_).
Если эта точка настройки реализована, могут потребоваться также следующие другие точки настройки.
|
Имя |
Когда внедрять |
|---|---|
Необходимо реализовать всякий раз, когда тип используется в качестве атрибута контейнера в Karma. |
|
Карма: Список ( |
|
Карма: Список ( |
|
Карма: Список ( |
|
Карма: Список ( |
|
Карма: Список ( |
|
Карма: Список ( |
Примеры использования точки настройки end_container см. здесь: embedded_container_example, use_as_container и counter_example.
Статья Get the Iterator pointing to the End 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) ::
реклама |