Object iterator: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{NavBar|{{object_iterator hierarchy}}}} {{object_iterator_brief}} ===Типы=== {{type_list begin}} {{type_list add|iterator_category|[http://en.cppreference.c…»)
 
Строка 18: Строка 18:
{{function_list_add|operator*|reference_name=object_iterator_operator_indirection|description={{object_iterator_operator_indirection_brief}}}}
{{function_list_add|operator*|reference_name=object_iterator_operator_indirection|description={{object_iterator_operator_indirection_brief}}}}
{{function_list_add|operator->|reference_name=object_iterator_operator_member_access|description={{object_iterator_operator_member_access_brief}}}}
{{function_list_add|operator->|reference_name=object_iterator_operator_member_access|description={{object_iterator_operator_member_access_brief}}}}
{{function_list_add|operator++<sub>prefix</sub>|reference_name=object_iterator_operator_preincrement|description={{object_iterator_operator_preincrement_brief}}}}
{{function_list_add|operator++|reference_name=object_iterator_operator_increment|description={{object_iterator_operator_increment_brief}}}}
{{function_list_add|operator++<sub>postfix</sub>|reference_name=object_iterator_operator_postincrement|description={{object_iterator_operator_postincrement_brief}}}}
{{function_list_add|operator--|reference_name=object_iterator_operator_decrement|description={{object_iterator_operator_decrement_brief}}}}
{{function_list_add|operator--<sub>prefix</sub>|reference_name=object_iterator_operator_predecrement|description={{object_iterator_operator_predecrement_brief}}}}
{{function_list_add|operator--<sub>postfix</sub>|reference_name=object_iterator_operator_postdecrement|description={{object_iterator_operator_postdecrement_brief}}}}
{{function_list_add|operator{{==}}|reference_name=object_iterator_operator_equality|description={{object_iterator_operator_equality_brief}}}}
{{function_list_add|operator{{==}}|reference_name=object_iterator_operator_equality|description={{object_iterator_operator_equality_brief}}}}
{{function_list_add|operator{{!=}}|reference_name=object_iterator_operator_inequality|description={{object_iterator_operator_inequality_brief}}}}
{{function_list_add|operator!{{=}}|reference_name=object_iterator_operator_inequality|description={{object_iterator_operator_inequality_brief}}}}
{{function_list_end}}
{{function_list_end}}



Версия 05:45, 5 января 2016

Шаблон:Object iterator hierarchy

Компонент, реализующий двунаправленный итератор, для перечисления всех элементов, составляющих геометрическую модель, т.е. принадлежащих соответствующей коллекции IObjectCollection.

Типы

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

Методы

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

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

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