Libreria Iterator C ++ - input_iterator_tag

Descrizione

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

C ++ 98

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

X b(a);

b = a;

Può essere confrontato per l'equivalenza utilizzando gli operatori di uguaglianza / disuguaglianza

(significativo se entrambi gli iteratori sono nel dominio ).

a == b

a != b

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

*a

a->m

Può essere incrementato (se in uno stato dereferenziabile ).

Il risultato è anche dereferenziabile o un iteratore passato alla fine .

Non è necessario che il valore dell'iteratore precedente sia dereferenziabile dopo l'aumento.

++a

(void)a++

*a++

Il suo tipo di valore non ha bisogno di essere assegnabili t = u non richiesto

C ++ 11

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

X b(a);

b = a;

Può essere confrontato per l'equivalenza utilizzando gli operatori di uguaglianza / disuguaglianza

(significativo se entrambi gli iteratori sono nel dominio ).

a == b

a != b

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

*a

a->m

Può essere incrementato (se in uno stato dereferenziabile ).

Il risultato è anche dereferenziabile o un iteratore passato alla fine .

Non è necessario che il valore dell'iteratore precedente sia dereferenziabile dopo l'aumento.

++a

(void)a++

*a++

Il suo tipo di valore non ha bisogno di essere assegnabili t = u non richiesto
I valori L sono scambiabili . swap(a,b)

Dichiarazione

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

C ++ 11

struct input_iterator_tag {};