Compartilhar via


iterator Struct

Uma struct de base vazio usado para garantir que uma classe definida pelo usuário 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

A estrutura do modelo serve como um tipo base para todos os iteradores.Ele define os tipos de membro

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

  • value_type(um sinônimo para o parâmetro do modelo tipo de).

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

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

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

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

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

Exemplo

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

Requisitos

Cabeçalho: <iterator>

Namespace: std

Consulte também

Referência

<iterator>

Segurança do thread na biblioteca C++ padrão

Standard Template Library