Libreria Iterator C ++ - iterator_traits
Descrizione
Tratta la classe che definisce le proprietà degli iteratori.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: iterator_traits.
C ++ 11
template <class Iterator> class iterator_traits;
template <class T> class iterator_traits<T*>;
template <class T> class iterator_traits<const T*>;
Parametri
T - Indica il tipo di elemento.
Valore di ritorno
nessuna
Eccezioni
Se x in qualche modo genera mentre applica l'operatore unario & ad esso, questa funzione non genera mai eccezioni.
Complessità temporale
costante per iteratori ad accesso casuale.
Esempio
L'esempio seguente mostra l'utilizzo di std :: iterator_traits.
#include <iostream>
#include <iterator>
#include <typeinfo>
int main() {
typedef std::iterator_traits<int*> traits;
if (typeid(traits::iterator_category)==typeid(std::random_access_iterator_tag))
std::cout << "int* is a random-access iterator";
return 0;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
int* is a random-access iterator