source_iterator
Перейти к навигации
Перейти к поиску
Компонент, реализующий двунаправленный итератор, для перечисления источников моделируемого поля, т.е. объектов, реализующих интерфейс ISourceObject и принадлежащих коллекции ISourceCollection соответствующей геометрической модели.
Типы
Тип | Описание |
---|---|
iterator_category | std::bidirectional_iterator_tag Типовый идентификатор двунаправленного итератора. |
value_type | Тип элемента коллекции ISourceCollection, которым является ссылка на объект с интерфейсом ISourceObject. |
reference | Тип ссылки на ассоциированный с итератором объект. Эквивалентен value_type. |
const_reference | Тип ссылки на ассоциированный с итератором объект с доступом только на чтение. |
pointer | Тип указателя на ассоциированный с итератором объект. |
const_pointer | Тип указателя на ассоциированный с итератором объект с доступом только на чтение. |
size_type | Беззнаковый целочисленный четырехбайтовый тип размера. |
difference_type | Знаковый целочисленный тип разницы между двумя адресами в памяти. |
Методы
operator* | Прямое разыменование итератора. |
operator-> | Оператор косвенного доступа к интерфейсу ISourceObject через итератор. |
operator++ | Выполняет инкремент итератора, под которым понимается связывание итератора со следующим элементом коллекции ISourceCollection. |
operator-- | Выполняет декремент итератора, под которым понимается связывание итератора со предыдущим элементом коллекции ISourceCollection. |
operator== | Проверка двух итераторов коллекции на эквивалентность. |
operator!= | Проверка двух итераторов коллекции на неэквивалентность. |
Итератор удовлетворяет требованиям DefaultConstructible, CopyConstructible и CopyAssignable.
Фактически итерация по элементам коллекции реализуется двумя классами итераторов: const_source_iterator и source_iterator. Первый класс запрещает операции по изменению ассоциированного с ним элемента коллекции.
