Source iterator

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Шаблон:Source iterator hierarchy

Компонент, реализующий двунаправленный итератор, для перечисления источников моделируемого поля, т.е. объектов, реализующих интерфейс ISourceObject и принадлежащих коллекции ISourceCollection соответствующей геометрической модели.

Типы

ТипОписание
iterator_categorystd::bidirectional_iterator_tag Типовый идентификатор двунаправленного итератора.
value_typeТип элемента коллекции ISourceCollection, которым является ссылка на объект с интерфейсом ISourceObject.
referenceТип ссылки на ассоциированный с итератором объект. Эквивалентен value_type.
const_referenceТип ссылки на ассоциированный с итератором объект с доступом только на чтение.
pointerТип указателя на ассоциированный с итератором объект.
const_pointerТип указателя на ассоциированный с итератором объект с доступом только на чтение.
size_typeБеззнаковый целочисленный четырехбайтовый тип размера.
difference_typeЗнаковый целочисленный тип разницы между двумя адресами в памяти.

Методы

operator* Шаблон:Source iterator operator indirection brief
operator-> Шаблон:Source iterator operator member access brief
operator++ Шаблон:Source iterator operator increment brief
operator-- Шаблон:Source iterator operator decrement brief
operator== Шаблон:Source iterator operator equality brief
operator!= Шаблон:Source iterator operator inequality brief

Итератор удовлетворяет требованиям DefaultConstructible, CopyConstructible и CopyAssignable.

Фактически итерация по элементам коллекции реализуется двумя классами итераторов: const_source_iterator и source_iterator. Первый класс запрещает операции по изменению ассоциированного с ним элемента коллекции.