Partilhar via


Struct iterator

Uma estrutura de base vazia é usado para garantir que uma classe definida pelo usuário de iterador funcione corretamente com 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;
    };

Comentários

O struct do modelo serve como um tipo de base para todos os iteradores. Define os tipos de membro

  • iterator_category (um sinônimo para o parâmetro Categoryde modelo).

  • value_type (um sinônimo para o parâmetro Tipode modelo).

  • difference_type (um sinônimo para o parâmetro Distancede modelo).

  • distance_type (um sinônimo para o parâmetro Distancede modelo)

  • pointer (um sinônimo para o parâmetro Pointerde modelo).

  • reference (um sinônimo para o parâmetro Referencede modelo).

Observe que value_type não deve ser um tipo constante mesmo se os pontos de pointer em um objeto de const Tipo de referência e designa um objeto de const Tipo.

Exemplo

Consulte iterator_traits para obter um exemplo de como declarar e usar os tipos na classe base de iterador.

Requisitos

Iterador<deHeader: >

Namespace: std

Consulte também

Referência

<iterator>

Segurança de threads na Biblioteca Padrão C++

Biblioteca de Modelos Padrão