Apache C++ Standard Library Reference Guide

## iterator

Library: Iterators

    Does not inherit

- Local Index
- Summary
- Synopsis
- Description
- See Also
- Standards Conformance

### Local Index

No Entries

### Summary

A base iterator class

### Synopsis

    #include <iterator>

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

### Description

The iterator structure is a base class from which all other iterator types can be derived. This structure defines an interface that consists of five public types: `value_type`, `difference_type`, `pointer`, `reference`, and `iterator_category`. These types are used primarily by classes derived from iterator and by the iterator_traits class.

See the Iterators section for a description of iterators and the capabilities associated with various types.

### See Also

iterator_traits

### Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, Section 24.3.2