Condividi tramite


iterator Struct

Una struttura di base vuoto utilizzato per assicurarsi che una classe definita dall'utente di iteratore funzioni correttamente con iterator_traitS.

template<class Category, class Type, class Distance = ptrdiff_t
    class Pointer = Type*, class Reference = Type&>
    struct iterator {
        typedef Category iterator_category;
        typedef Type value_type;
        typedef Distance difference_type;
        typedef Distance distance_type;
        typedef Pointer pointer;
        typedef Reference reference;
    };

Note

La struttura del modello funge da tipo di base per tutti gli iteratori.Definisce i tipi di membri

  • iterator_category (sinonimo del parametro di template Category).

  • value_type (sinonimo del parametro di template tipo).

  • difference_type (sinonimo del parametro di template Distance).

  • distance_type (sinonimo del parametro di template Distance)

  • pointer (sinonimo del parametro di template Pointer).

  • reference (sinonimo del parametro di template Reference).

Si noti che value_type non deve essere un tipo costante anche se i punti di puntatore a un oggetto di tipo const tipo e di riferimento definisce un oggetto di tipo const tipo.

Esempio

Vedere iterator_traits per un esempio di come dichiarare e utilizzare i tipi nella classe base dell'iteratore.

Requisiti

intestazione: <iteratore>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

<iterator>

Thread safety della libreria C++ standard

Libreria di modelli standard