# stl_iterator.h File Reference

## Detailed Description

This is an internal header file, included by other library headers. You should not attempt to use it directly.

This file implements reverse_iterator, back_insert_iterator, front_insert_iterator, insert_iterator, __normal_iterator, and their supporting functions and overloaded operators.

Definition in file stl_iterator.h.

Go to the source code of this file.

## Namespaces

- namespace __gnu_cxx
- namespace std

## Classes

- class __gnu_cxx::__normal_iterator< _Iterator, _Container >
- class std::back_insert_iterator< _Container >
    Turns assignment into insertion. More...
- class std::front_insert_iterator< _Container >
    Turns assignment into insertion. More...
- class std::insert_iterator< _Container >
    Turns assignment into insertion. More...
- class std::reverse_iterator< _Iterator >

## Defines

- #define _ITERATOR_H

## Functions

- template<typename _Container> back_insert_iterator< _Container > std::back_inserter (_Container &__x)
- template<typename _Container> front_insert_iterator< _Container > std::front_inserter (_Container &__x)
- template<typename _Container, typename _Iterator> insert_iterator< _Container > std::inserter (_Container &__x, _Iterator __i)
- template<typename _Iterator, typename _Container> bool __gnu_cxx::operator!= (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL, typename _IteratorR, typename _Container> bool __gnu_cxx::operator!= (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- template<typename _Iterator, typename _Container> __normal_iterator< _Iterator,
  _Container > __gnu_cxx::operator+ (typename __normal_iterator< _Iterator, _Container >::difference_type __n, const __normal_iterator< _Iterator, _Container > &__i)
- template<typename _Iterator, typename _Container> __normal_iterator< _Iterator,
  _Container >::difference_type __gnu_cxx::operator- (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL, typename _IteratorR, typename _Container> __normal_iterator< _IteratorL,
  _Container >::difference_type __gnu_cxx::operator- (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- template<typename _Iterator, typename _Container> bool __gnu_cxx::operator< (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL, typename _IteratorR, typename _Container> bool __gnu_cxx::operator< (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- template<typename _Iterator, typename _Container> bool __gnu_cxx::operator<= (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL, typename _IteratorR, typename _Container> bool __gnu_cxx::operator<= (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- template<typename _Iterator, typename _Container> bool __gnu_cxx::operator== (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL, typename _IteratorR, typename _Container> bool __gnu_cxx::operator== (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- template<typename _Iterator, typename _Container> bool __gnu_cxx::operator> (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL, typename _IteratorR, typename _Container> bool __gnu_cxx::operator> (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- template<typename _Iterator, typename _Container> bool __gnu_cxx::operator>= (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL, typename _IteratorR, typename _Container> bool __gnu_cxx::operator>= (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)

- template<typename _IteratorL, typename _IteratorR> bool std::operator!= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
- template<typename _Iterator> bool std::operator!= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
- template<typename _Iterator> reverse_iterator< _Iterator > std::operator+ (typename reverse_iterator< _Iterator >::difference_type __n, const reverse_iterator< _Iterator > &__x)
- template<typename _IteratorL, typename _IteratorR> reverse_iterator< _IteratorL
  >::difference_type std::operator- (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
- template<typename _Iterator> reverse_iterator< _Iterator
  >::difference_type std::operator- (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
- template<typename _IteratorL, typename _IteratorR> bool std::operator< (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
- template<typename _Iterator> bool std::operator< (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
- template<typename _IteratorL, typename _IteratorR> bool std::operator<= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
- template<typename _Iterator> bool std::operator<= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
- template<typename _IteratorL, typename _IteratorR> bool std::operator== (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
- template<typename _Iterator> bool std::operator== (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
- template<typename _IteratorL, typename _IteratorR> bool std::operator> (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
- template<typename _Iterator> bool std::operator> (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
- template<typename _IteratorL, typename _IteratorR> bool std::operator>= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
- template<typename _Iterator> bool std::operator>= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)