Biblioteca de iteradores de C ++ - forward_iterator_tag

Descripción

Es un iterador que puede utilizarse para acceder a la secuencia de elementos en un rango en la dirección que va desde su inicio hasta su final.

C ++ 98

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

X a;

X b(a);

b = a;

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

(significativo cuando ambos valores del iterador iteran sobre la misma secuencia subyacente).

a == b

a != b

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

*a

a->m

Para iteradores mutables ( iteradores no constantes ):

Puede desreferenciarse como un valor l (si se encuentra en un estado desreferenciable ).

*a = t

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

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

Dos iteradores que se comparan iguales, siguen comparando iguales cuando ambos aumentan.

++a

a++

*a++

C ++ 11

propiedad expresiones válidas
Es una copia, asignable y destructible, que se puede construir por defecto,

X a;

X b(a);

b = a;

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

(significativo cuando ambos valores del iterador iteran sobre la misma secuencia subyacente).

a == b

a != b

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

*a

a->m

Para iteradores mutables ( iteradores no constantes ):

Puede desreferenciarse como un valor l (si se encuentra en un estado desreferenciable ).

*a = t

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

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

Dos iteradores que se comparan iguales, siguen comparando iguales cuando ambos aumentan.

++a

a++

*a++

Los valores L son intercambiables . swap(a,b)

Declaración

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

C ++ 11

struct forward_iterator_tag {};