libstdc++: std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference > Struct Template Reference

libstdc++

std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference > Struct Template Reference
Iterators

`#include <stl_iterator_base_types.h>`

Inheritance diagram for std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >:
[legend]

## Public Types
typedef _Distance | difference_type
typedef _Category | iterator_category
typedef _Pointer | pointer
typedef _Reference | reference
typedef _Tp | value_type

## Detailed Description

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>
struct std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >

Common iterator class.

This class does nothing but define nested typedefs. Iterator classes can inherit from this class to save some work. The typedefs are then used in specializations and overloading.

In particular, there are no default implementations of requirements such as operator++ and the like. (How could there be?)

Deprecated
  Deprecated since C++17. The recommended alternative is to simply define the typedefs directly in your iterator class.

Definition at line 134 of file stl_iterator_base_types.h.

## Member Typedef Documentation

## ◆ difference_type

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Distance std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::difference_type

Distance between iterators is represented as this type.

Definition at line 141 of file stl_iterator_base_types.h.

## ◆ iterator_category

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Category std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::iterator_category

One of the tag types.

Definition at line 137 of file stl_iterator_base_types.h.

## ◆ pointer

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Pointer std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::pointer

This type represents a pointer-to-value_type.

Definition at line 143 of file stl_iterator_base_types.h.

## ◆ reference

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Reference std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::reference

This type represents a reference-to-value_type.

Definition at line 145 of file stl_iterator_base_types.h.

## ◆ value_type

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Tp std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::value_type

The type "pointed to" by the iterator.

Definition at line 139 of file stl_iterator_base_types.h.

The documentation for this struct was generated from the following file:

- stl_iterator_base_types.h