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 |
|
|||
Può essere incrementato |
|
||||
Accesso casuale | Bidirezionale | Inoltrare | Ingresso | Supporta confronti di uguaglianza / disuguaglianza |
|
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. |