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. |
