Condividi tramite


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

k3tf6509.collapse_all(it-it,VS.110).gifFunzioni

avanzamento

Incrementa un iteratore da un determinato numero di posizioni.

back_inserter

Crea un iteratore che può inserire elementi posteriore di un contenitore specificato.

begin

Recupera un iteratore il primo elemento in un contenitore specificato.

distanza

Determina il numero degli incrementi tra le posizioni inviate da due iteratori.

end

Recupera un iteratore nell'elemento dopo l'ultimo elemento nel contenitore specificato.

front_inserter

Crea un iteratore che può inserire elementi all'inizio di un contenitore specificato.

inserter

Un adattatore di iteratore che aggiunge un nuovo elemento a un contenitore in un determinato punto di inserimento.

make_move_iterator

Restituisce un iteratore di spostamento che contiene l'iteratore fornito come il relativo iteratore di base archiviato.

dopo

Viene ripetuta un numero di volte specificato e restituisce la nuova posizione di iteratore.

prev

Ripete al contrario il numero di volte specificato e restituisce la nuova posizione di iteratore.

k3tf6509.collapse_all(it-it,VS.110).gifOperatori

operatore! =

Test se l'oggetto iteratori a sinistra dell'operatore non è uguale all'oggetto iteratori a destra.

operator==

Test se l'oggetto iteratori a sinistra dell'operatore è uguale all'oggetto iteratori a destra.

operator<

Test se l'oggetto iteratori a sinistra dell'operatore è inferiore all'oggetto iteratori a destra.

operator<=

Test se l'oggetto iteratori a sinistra dell'operatore è minore o uguale all'oggetto iteratori a destra.

operator>

Test se l'oggetto iteratori a sinistra dell'operatore è maggiore dell'oggetto iteratori a destra.

operator>=

Test se l'oggetto iteratori a sinistra dell'operatore è maggiore o uguale all'oggetto iteratori a destra.

operator+

Aggiunge un offset a un iteratore e restituisce il nuovo reverse_iterator destinato all'elemento inserito nella nuova posizione offset.

operatore

Sottrae un iteratore da un altro e restituisce la differenza.

k3tf6509.collapse_all(it-it,VS.110).gifClassi

back_insert_iterator

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.

bidirectional_iterator_tag

Classe che fornisce un tipo restituito da una funzione iterator_category che rappresenta un iteratore bidirezionale.

checked_array_iterator

Classe che accede A una matrice utilizzando un accesso casuale, iteratore verificato.

forward_iterator_tag

Classe che fornisce un tipo restituito da una funzione iterator_category che rappresenta un iteratore avanti.

front_insert_iterator

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.

input_iterator_tag

Classe che fornisce un tipo restituito da una funzione iterator_category che rappresenta un iteratore di input.

insert_iterator

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.

istream_iterator

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

istreambuf_iterator

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

iteratore

La classe modello verrà utilizzato come tipo di base per tutti gli iteratori.

iterator_traits

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.

move_iterator

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.

ostream_iterator

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

classe di ostreambuf_iterator

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

output_iterator_tag

Classe che fornisce un tipo restituito dalla funzione iterator_category che rappresenta un iteratore di output.

random_access_iterator_tag

Classe che fornisce un tipo restituito dalla funzione iterator_category che rappresenta un iteratore di accesso casuale.

reverse_iterator

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

Libreria di modelli standard

Altre risorse

File di intestazione