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