libstdc++
Iterators

Classes

struct  std::bidirectional_iterator_tag
 
struct  std::forward_iterator_tag
 
struct  std::input_iterator_tag
 
struct  std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >
 
struct  std::iterator_traits< _Iterator >
 
struct  std::output_iterator_tag
 
struct  std::random_access_iterator_tag
 

Functions

template<typename _Iter >
iterator_traits< _Iter >::iterator_category std::__iterator_category (const _Iter &)
 

Detailed Description

These are empty types, used to distinguish different iterators. The distinction is not made by what they contain, but simply by what they are. Different underlying algorithms can then be used based on the different operations supported by different iterator types.

Function Documentation

template<typename _Iter >
iterator_traits<_Iter>::iterator_category std::__iterator_category ( const _Iter &  )
inline

This function is not a part of the C++ standard but is syntactic sugar for internal library use only.

Definition at line 160 of file stl_iterator_base_types.h.

Referenced by std::advance(), std::copy_n(), std::distance(), std::find(), std::find_end(), std::find_if(), std::find_if_not(), std::partition(), std::reverse(), std::search_n(), std::uninitialized_copy_n(), and std::unique_copy().