iterator Struct

Struct base vacío utilizado para asegurarse de que una clase definida por el usuario de iterador funciona correctamente con s para iterator_trait.

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;
    };

Comentarios

Struct de plantilla actúa como tipo base para todos los iteradores.Define los tipos de miembro

  • iterator_category (un sinónimo para el parámetro Categoryde plantilla).

  • value_type (un sinónimo para el parámetro tipode plantilla).

  • difference_type (un sinónimo para el parámetro Distancede plantilla).

  • distance_type (un sinónimo para el parámetro Distancede plantilla)

  • pointer (un sinónimo para el parámetro Pointerde plantilla).

  • reference (un sinónimo para el parámetro Referencede plantilla).

Observe que value_type no debe ser un tipo constante incluso si los puntos de puntero en un objeto const tipo y de referencia proporcionan un objeto const tipo.

Ejemplo

Vea iterator_traits para obtener un ejemplo de cómo declarar y usar los tipos de la clase base del iterador.

Requisitos

encabezado: <iterador>

espacio de nombres: std

Vea también

Referencia

<iterator>

Seguridad para subprocesos de la biblioteca estándar de C++

Biblioteca de plantillas estándar