<iterator>
Definisce le primitive di iteratore, gli iteratori denominati e gli iteratori del flusso nonché diversi modelli di supporto.Gli iteratori predefiniti includono gli adattatori di inversione e di inserimento.Esistono tre classi di adattatori iteratori di inserimento: parte precedente, indietro e generale.Fornisce la semantica di inserimento anziché la semantica di sovrascrivere che gli iteratori di funzione membro di un contenitore.
#include <iterator>
Note
Gli iteratori sono una generalizzazione dei puntatori, sottraente i requisiti in una modalità che consente il programma C++ con diverse strutture di dati in modo uniforme.Gli iteratori agiscono come intermediari tra contenitori e algoritmi generici.Anziché operare sui tipi di dati specifici, gli algoritmi definiti per l'esecuzione in un intervallo specificato da un tipo di iteratore.Qualsiasi struttura di dati che soddisfi i requisiti dell'iteratore può quindi essere elaborata dall'algoritmo.Sono disponibili cinque tipi o di categorie iteratore, ciascuno dotato di un set di requisiti e di funzionalità risultanti:
Output: spostarsi in avanti, è possibile memorizzare ma non recuperare i valori, indipendentemente da ostream e da inserter.
Input: spostarsi in avanti, può recuperare ma non archiviare i valori, se da istream.
In avanti: spostarsi in avanti, può archiviare e recuperare i valori.
Bidirezionale: avanti e indietro spostamento, può archiviare e recuperare i valori, indipendentemente dall'elenco, impostare, dal multi-insieme, il mapping e da multimap.
Accesso casuale: gli elementi utilizzati in qualsiasi ordine, possono archiviare e recuperare i valori, tramite il vettore, deque, la stringa e la matrice.
Gli iteratori con maggiori requisiti e accedere in modo più efficace gli elementi possono essere utilizzati anziché gli iteratori con minori requisiti.Ad esempio, se un iteratore avanti viene chiamato per, un iteratore di accesso casuale può invece utilizzato.
Funzioni
Incrementa un iteratore da un determinato numero di posizioni. |
|
Crea un iteratore che può inserire elementi posteriore di un contenitore specificato. |
|
Recupera un iteratore il primo elemento in un contenitore specificato. |
|
Determina il numero degli incrementi tra le posizioni inviate da due iteratori. |
|
Recupera un iteratore nell'elemento dopo l'ultimo elemento nel contenitore specificato. |
|
Crea un iteratore che può inserire elementi all'inizio di un contenitore specificato. |
|
Un adattatore di iteratore che aggiunge un nuovo elemento a un contenitore in un determinato punto di inserimento. |
|
Restituisce un iteratore di spostamento che contiene l'iteratore fornito come il relativo iteratore di base archiviato. |
|
Viene ripetuta un numero di volte specificato e restituisce la nuova posizione di iteratore. |
|
Ripete al contrario il numero di volte specificato e restituisce la nuova posizione di iteratore. |
Operatori
Test se l'oggetto iteratori a sinistra dell'operatore non è uguale all'oggetto iteratori a destra. |
|
Test se l'oggetto iteratori a sinistra dell'operatore è uguale all'oggetto iteratori a destra. |
|
Test se l'oggetto iteratori a sinistra dell'operatore è inferiore all'oggetto iteratori a destra. |
|
Test se l'oggetto iteratori a sinistra dell'operatore è minore o uguale all'oggetto iteratori a destra. |
|
Test se l'oggetto iteratori a sinistra dell'operatore è maggiore dell'oggetto iteratori a destra. |
|
Test se l'oggetto iteratori a sinistra dell'operatore è maggiore o uguale all'oggetto iteratori a destra. |
|
Aggiunge un offset a un iteratore e restituisce il nuovo reverse_iterator destinato all'elemento inserito nella nuova posizione offset. |
|
Sottrae un iteratore da un altro e restituisce la differenza. |
Classi
La classe modello descrive un oggetto di output iteratori.Inserisce gli elementi in un contenitore di tipo Contenitore, che accede tramite l'oggetto che protetto pointer archivia il contenitore denominato. |
|
Classe che fornisce un tipo restituito da una funzione iterator_category che rappresenta un iteratore bidirezionale. |
|
Classe che accede A una matrice utilizzando un accesso casuale, iteratore verificato. |
|
Classe che fornisce un tipo restituito da una funzione iterator_category che rappresenta un iteratore avanti. |
|
La classe modello descrive un oggetto di output iteratori.Inserisce gli elementi in un contenitore di tipo Contenitore, che accede tramite l'oggetto che protetto pointer archivia il contenitore denominato. |
|
Classe che fornisce un tipo restituito da una funzione iterator_category che rappresenta un iteratore di input. |
|
La classe modello descrive un oggetto di output iteratori.Inserisce gli elementi in un contenitore di tipo Contenitore, che accede tramite l'oggetto che protetto pointer archivia il contenitore denominato.Archivia l'oggetto protetto iterator, di classe Container::iterator, denominato iter. |
|
La classe modello descrive un oggetto di input di iteratore.Estrae gli oggetti di classe Ty da un flusso di input, che accede tramite un oggetto che archivia, di tipo puntatore a basic_istream<Elem, Tr>. |
|
La classe modello descrive un oggetto di input di iteratore.Inserisce gli elementi di classe Elem in una soluzione tampone del flusso di output, che accede tramite un oggetto che archivia, di tipo pointer a basic_streambuf<Elem, Tr>. |
|
La classe modello verrà utilizzato come tipo di base per tutti gli iteratori. |
|
Una classe di supporto del modello che fornisce i tipi critici associati all'iteratore tipi diversi in modo che possano fare riferimento a esso nello stesso modo. |
|
Un oggetto move_iterator archivia un iteratore di accesso casuale di tipo RandomIterator.Si comporta come un iteratore di accesso casuale, a meno che una volta derefenziato.Il risultato operator* in modo implicito viene eseguito il cast in value_type&&: per fare rvalue reference. |
|
La classe modello descrive un oggetto di output iteratori.Inserisce gli oggetti di classe Tipo in un flusso di output, che accede tramite un oggetto che archivia, di tipo pointer a basic_ostream<Elem, Tr>. |
|
La classe modello descrive un oggetto di output iteratori.Inserisce gli elementi di classe Elem in una soluzione tampone del flusso di output, che accede tramite un oggetto che archivia, di tipo puntatore a basic_streambuf<Elem, Tr>. |
|
Classe che fornisce un tipo restituito dalla funzione iterator_category che rappresenta un iteratore di output. |
|
Classe che fornisce un tipo restituito dalla funzione iterator_category che rappresenta un iteratore di accesso casuale. |
|
La classe modello descrive un oggetto che funziona come un iteratore di accesso casuale, solo contatore. |
Vedere anche
Riferimenti
Thread safety della libreria C++ standard