Biblioteca de iteradores de C ++ - output_iterator_tag

Descripción

Se utiliza para identificar la categoría de un iterador como iterador de salida y todos los iteradores de salida 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;

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

Solo se eliminará la referencia como el lado izquierdo de una declaración de asignación.

Una vez desreferenciado, su valor de iterador ya no puede ser desreferenciable .

*a = t
Puede incrementarse.

++a

a++

*a++ = t

C ++ 11

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

X b(a);

b = a;

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

Solo se eliminará la referencia como el lado izquierdo de una declaración de asignación.

Una vez desreferenciado, su valor de iterador ya no puede ser desreferenciable .

*a = t
Puede incrementarse.

++a

a++

*a++ = t

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

Declaración

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

C ++ 11

struct output_iterator_tag {};