Biblioteca C ++ Iterator - output_iterator_tag

Descrição

É usado para identificar a categoria de um iterador como um iterador de saída e todos os iteradores de saída suportam pelo menos uma das seguintes operações.

C ++ 98

propriedade expressões válidas
É uma cópia construtível, atribuível por cópia e destrutível

X b(a);

b = a;

Ele pode ser desreferenciado como um lvalue (se estiver em um estado desreferenciável ).

Deve ser desreferenciado apenas como o lado esquerdo de uma instrução de atribuição.

Uma vez desreferenciado, seu valor de iterador não pode mais ser desreferenciável .

*a = t
Ele pode ser incrementado.

++a

a++

*a++ = t

C ++ 11

propriedade expressões válidas
É uma cópia construtível, atribuível por cópia e destrutível

X b(a);

b = a;

Ele pode ser desreferenciado como um lvalue (se estiver em um estado desreferenciável ).

Deve ser desreferenciado apenas como o lado esquerdo de uma instrução de atribuição.

Uma vez desreferenciado, seu valor de iterador não pode mais ser desreferenciável .

*a = t
Ele pode ser incrementado.

++a

a++

*a++ = t

Lvalues ​​são trocáveis . swap(a,b)

Declaração

A seguir está a declaração para std :: output_iterator_tag.

C ++ 11

struct output_iterator_tag {};