Biblioteca de iteradores de C ++ - input_iterator_tag

Descripción

Se utiliza para identificar la categoría de un iterador como iterador de entrada y todos los iteradores de entrada admiten al menos una de las siguientes operaciones.

C ++ 98

propiedad expresiones válidas
Es una copia-construible, copia-asignable y destructible.

X b(a);

b = a;

Se puede comparar la equivalencia utilizando los operadores de igualdad / desigualdad

(significativo si ambos iteradores están en el dominio ).

a == b

a != b

Puede desreferenciarse como un rvalue (si está en un estado desreferenciable ).

*a

a->m

Puede incrementarse (si está en un estado desreferenciable ).

El resultado también es desreferenciable o un iterador pasado al final .

No es necesario que el valor del iterador anterior sea desreferenciable después del aumento.

++a

(void)a++

*a++

Su tipo de valor no necesita ser asignable t = u no requerido

C ++ 11

propiedad expresiones válidas
Es una copia-construible, copia-asignable y destructible.

X b(a);

b = a;

Se puede comparar la equivalencia utilizando los operadores de igualdad / desigualdad

(significativo si ambos iteradores están en el dominio ).

a == b

a != b

Puede desreferenciarse como un rvalue (si está en un estado desreferenciable ).

*a

a->m

Puede incrementarse (si está en un estado desreferenciable ).

El resultado también es desreferenciable o un iterador pasado al final .

No es necesario que el valor del iterador anterior sea desreferenciable después del aumento.

++a

(void)a++

*a++

Su tipo de valor no necesita ser asignable t = u no requerido
Los valores L son intercambiables . swap(a,b)

Declaración

A continuación se muestra la declaración de std :: input_iterator_tag.

C ++ 11

struct input_iterator_tag {};