Libreria C ++ - <iterator>

introduzione

È un oggetto simile a un puntatore che può essere incrementato con ++, dereferenziato con * e confrontato con un altro iteratore con! =

Categorie

categoria proprietà espressioni valide
tutte le categorie copia costruibile , copia assegnabile e distruttibile

X b(a);

b = a;

Può essere incrementato

++a

a++

Accesso casuale Bidirezionale Inoltrare Ingresso Supporta confronti di uguaglianza / disuguaglianza

a == b

a != b

Può essere dereferenziato come valore

*un

a-> m

Produzione

Può essere dereferenziato come lvalue

(solo per i tipi di iteratori modificabili )

* a = t

* a ++ = t

default-costruibile

X a;

X()

Multi-pass: né la dereferenziazione né l'incremento influiscono sulla dereferenziazione { b = a; *a++; *b; }
Può essere decrementato

--un

un--

*un--

Supporta gli operatori aritmetici + e -

a + n

n + a

un

a - b

Supporta confronti di disuguaglianza ( < , > , <= e > = ) tra iteratori

a <b

a> b

a <= b

a> = b

Supporta operazioni di assegnazione composta + = e - =

a + = n

a - = n

Supporta l'operatore di dereferenziazione offset ( [] ) un]

Funzioni

Sr.No. Funzioni e descrizione
1 avanzare

Fa avanzare l'iteratore di n posizioni di elementi.

2 distanza

Restituisce la distanza tra gli iteratori.

3 inizio

Viene utilizzato per avviare un iteratore.

4 fine

Viene utilizzato per terminare un iteratore.

5 prec

Viene utilizzato per ottenere l'iteratore all'elemento precedente.

6 Il prossimo

Viene utilizzato per ottenere l'iteratore all'elemento successivo.

Generatori di iteratori

Sr.No. Generatori di iteratori e descrizione
1 back_inserter

Costruisce l'iteratore di inserimento indietro.

2 inseritore

Costruisce l'iteratore di inserimento

3 make_move_iterator

Costruisce iteratori di movimento.

Classi

Sr.No. Classi e descrizione
1 iteratore

Iteratori classe base.

2 iterator_traits

È un iteratore tratti.

Iteratori predefiniti

Sr.No. Iteratori e descrizione predefiniti
1 reverse_iterator

È un iteratore inverso.

2 move_iterator

È un iteratore di movimento.

3 back_insert_iterator

È un iteratore di inserimento posteriore.

4 front_insert_iterator

È un iteratore di inserimento frontale.

5 insert_iterator

Viene utilizzato per inserire un iteratore.

6 istream_iterator

È un iteratore del flusso di input.

7 ostream_iterator

È un iteratore del flusso di output.

8 istreambuf_iterator

È un iteratore del buffer del flusso di input.

7 ostreambuf_iterator

È un iteratore del buffer del flusso di output.

Tag di categoria

Sr.No. Tag di categoria e descrizione
1 input_iterator_tag

Inserisci la categoria dell'iteratore.

2 output_iterator_tag

categoria iteratore di output.

3 forward_iterator_tag

Forward iterator category.

4 bidirectional_iterator_tag

Categoria iteratore bidirezionale.

5 random_access_iterator_tag

Categoria iteratore ad accesso casuale.