Condividi tramite


Struct iterator

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 pointer a un oggetto const consente di Tipo e di riferimento definisce un oggetto const consente di Tipo.

Esempio

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

Requisiti

iteratore<diIntestazione: >

Spazio dei nomi: std

Vedere anche

Riferimenti

<iterator>

Sicurezza dei thread nella libreria standard C++

Libreria di modelli standard