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