Libreria Iterator C ++ - output_iterator_tag

Descrizione

Viene utilizzato per identificare la categoria di un iteratore come iteratore di output e tutti gli iteratori di output supportano almeno una delle seguenti operazioni.

C ++ 98

proprietà espressioni valide
È una copia costruibile, assegnabile e distruttibile

X b(a);

b = a;

Può essere dereferenziato come lvalue (se in uno stato dereferenziabile ).

Deve essere dereferenziato solo come il lato sinistro di una dichiarazione di assegnazione.

Una volta dereferenziato, il suo valore iteratore potrebbe non essere più dereferenziabile .

*a = t
Può essere incrementato.

++a

a++

*a++ = t

C ++ 11

proprietà espressioni valide
È una copia costruibile, assegnabile e distruttibile

X b(a);

b = a;

Può essere dereferenziato come lvalue (se in uno stato dereferenziabile ).

Deve essere dereferenziato solo come il lato sinistro di una dichiarazione di assegnazione.

Una volta dereferenziato, il suo valore iteratore potrebbe non essere più dereferenziabile .

*a = t
Può essere incrementato.

++a

a++

*a++ = t

I valori L sono scambiabili . swap(a,b)

Dichiarazione

Di seguito è riportata la dichiarazione per std :: output_iterator_tag.

C ++ 11

struct output_iterator_tag {};