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

Common iterator class. More...

#include <stl_iterator_base_types.h>

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

__gnu_cxx::_Rope_iterator_base< _CharT, _Alloc > __gnu_cxx::sequence_buffer< _Sequence, _Buf_sz > std::back_insert_iterator< _Container > std::front_insert_iterator< _Container > std::insert_iterator< _Container > std::istream_iterator< _Tp, _CharT, _Traits, _Dist > std::istreambuf_iterator< _CharT, _Traits > std::ostream_iterator< _Tp, _CharT, _Traits > std::ostreambuf_iterator< _CharT, _Traits > std::raw_storage_iterator< _ForwardIterator, _Tp > std::reverse_iterator< _Iterator > List of all members.

Public Types

typedef _Category iterator_category
 One of the tag types.
typedef _Tp value_type
 The type "pointed to" by the iterator.
typedef _Distance difference_type
 Distance between iterators is represented as this type.
typedef _Pointer pointer
 This type represents a pointer-to-value_type.
typedef _Reference reference
 This type represents a reference-to-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?)

Definition at line 106 of file stl_iterator_base_types.h.


Member Typedef Documentation

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.

Reimplemented in std::reverse_iterator< _Iterator >.

Definition at line 113 of file stl_iterator_base_types.h.

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 109 of file stl_iterator_base_types.h.

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.

Reimplemented in _GLIBCXX_STD::_Bit_iterator, _GLIBCXX_STD::_Bit_const_iterator, std::reverse_iterator< _Iterator >, __gnu_cxx::_Rope_const_iterator< _CharT, _Alloc >, and __gnu_cxx::_Rope_iterator< _CharT, _Alloc >.

Definition at line 115 of file stl_iterator_base_types.h.

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.

Reimplemented in _GLIBCXX_STD::_Bit_iterator, _GLIBCXX_STD::_Bit_const_iterator, std::reverse_iterator< _Iterator >, __gnu_cxx::_Rope_const_iterator< _CharT, _Alloc >, and __gnu_cxx::_Rope_iterator< _CharT, _Alloc >.

Definition at line 117 of file stl_iterator_base_types.h.

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.

Reimplemented in __gnu_cxx::sequence_buffer< _Sequence, _Buf_sz >.

Definition at line 111 of file stl_iterator_base_types.h.


The documentation for this struct was generated from the following file:
Generated on Tue Feb 2 16:59:12 2010 for GNU C++ STL by  doxygen 1.4.7