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

Compare two Iterator pointing into a Container Attribute for Equality

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
compare_iterators

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

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

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

[Note] Note

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

Namespace

Имя

<boost::spirit::traits>

Synopsis
template <typename Iterator, typename Enable>
struct compare_iterators
{
    static bool call(Iterator const& it1, Iterator const& it2);
};
Template parameters

Параметр

Описание

по умолчанию

<Iterator>

Тип,<Iterator>итератора для отсчета. Это то же самое, что и тип, возвращаемый точкой настройки<traits::container_iterator>

.

Нет

<Enable>

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

<void>

Notation

Iterator

Тип итератора.

it1, it2

Примеры итераторного типа<Iterator>.

C

Тип контейнера, тип итератора которого<Iterator>.

Expression Semantics

выражение

Семантика

<compare_iterators<Iterator>::call(it1,it2)>

Возвращает ли итераторы<it1><it2>, чтобы считаться равными?

Predefined Specializations

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

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

Семантика

<Iterator>

Функция<call()>возвращает его1 == it2.

<unused_type>< const*>

Функция<call()>всегда возвращается ложной.

When to implement

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

Related Attribute Customization Points

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

Example

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


PrevUpHomeNext

Статья Compare two Iterator pointing into a Container Attribute for Equality раздела 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-20 03:49:29/0.0069048404693604/1