Поделиться через


iterator Struct

Пустая базовая структура, используемая для обеспечения того, чтобы определяемый пользователем класс итератора правильность работы с iterator_traitS.

template<class Category, class Type, class Distance = ptrdiff_t
    class Pointer = Type*, class Reference = Type&>
    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 (синоним для параметров шаблона тип).

  • difference_type (синоним для параметров шаблона Distance).

  • distance_type (синоним для параметров шаблона Distance)

  • pointer (синоним для параметров шаблона Pointer).

  • reference (синоним для параметров шаблона Reference).

Обратите внимание, что value_type не должен быть тип константы, даже если Указатель точки в объекте const тип const и ссылка указывает на объект тип.

Пример

См. iterator_traits пример объявления и использования типов в базовый класс итератора.

Требования

заголовок: <итератор>

пространство имен: STD

См. также

Ссылки

<iterator>

Потокобезопасность в стандартной библиотеке C++

Стандартная библиотека шаблонов