Структура iterator
Пустая базовая структура, используемая для обеспечения правильной iterator_trait
работы определяемого пользователем класса итератора.
Синтаксис
struct iterator {
typedef Category iterator_category;
typedef Type value_type;
typedef Distance difference_type;
typedef Distance distance_type;
typedef Pointer pointer;
typedef Reference reference;
};
Замечания
Данная структура-шаблон используется как базовый тип для всех итераторов. Она определяет типы членов
iterator_category
(синоним для параметра-шаблонаCategory
).value_type
(синоним для параметра-шаблонаType
).difference_type
(синоним для параметра-шаблонаDistance
).distance_type
(синоним для параметра-шаблонаDistance
)pointer
(синоним для параметра-шаблонаPointer
).reference
(синоним для параметра-шаблонаReference
).
Обратите внимание, что value_type
не должен быть константным типом, даже если pointer
точки в объекте const
Type
и ссылке указывают объект const
Type
.
Пример
См. раздел iterator_traits с примером того, как объявить и использовать типы в базовом классе итератора.
Требования
Заголовок:<итератор>
Пространство имен: std
См. также
<iterator>
Потокобезопасность в стандартной библиотеке C++
Справочник по стандартной библиотеке C++