Object iterator: различия между версиями
Перейти к навигации
Перейти к поиску
| Строка 27: | Строка 27: | ||
Фактически итерация по элементам коллекции реализуется двумя классами итераторов: <tt>const_object_iterator</tt> и <tt>object_iterator</tt>. Первый класс запрещает операции по изменению ассоциированного с ним элемента коллекции. | Фактически итерация по элементам коллекции реализуется двумя классами итераторов: <tt>const_object_iterator</tt> и <tt>object_iterator</tt>. Первый класс запрещает операции по изменению ассоциированного с ним элемента коллекции. | ||
{{relation_diagram|diagram=Отношения итератора с другими классами интерфейса|content= | |||
{{object_iterator_relations}} | |||
}} | |||
Версия 02:05, 7 января 2016
Компонент, реализующий двунаправленный итератор, для перечисления всех элементов, составляющих геометрическую модель, т.е. принадлежащих соответствующей коллекции IObjectCollection.
Типы
| Тип | Описание |
|---|---|
| iterator_category | std::bidirectional_iterator_tag Типовый идентификатор двунаправленного итератора. |
| value_type | Тип элемента коллекции IObjectCollection, которым является ссылка на объект с интерфейсом IObject. |
| reference | Тип ссылки на ассоциированный с итератором объект. Эквивалентен value_type. |
| const_reference | Тип ссылки на ассоциированный с итератором объект с доступом только на чтение. |
| pointer | Тип указателя на ассоциированный с итератором объект. |
| const_pointer | Тип указателя на ассоциированный с итератором объект с доступом только на чтение. |
| size_type | Беззнаковый целочисленный четырехбайтовый тип размера. |
| difference_type | Знаковый целочисленный тип разницы между двумя адресами в памяти. |
Методы
Итератор удовлетворяет требованиям DefaultConstructible, CopyConstructible и CopyAssignable.
Фактически итерация по элементам коллекции реализуется двумя классами итераторов: const_object_iterator и object_iterator. Первый класс запрещает операции по изменению ассоциированного с ним элемента коллекции.
