Iterators
Collaboration diagram for Iterators:

## Classes

class | std::back_insert_iterator< _Container >
class | std::front_insert_iterator< _Container >
class | std::insert_iterator< _Container >
class | std::istream_iterator< _Tp, _CharT, _Traits, _Dist >
class | std::istreambuf_iterator< _CharT, _Traits >
class | std::move_iterator< _Iterator >
class | std::ostream_iterator< _Tp, _CharT, _Traits >
class | std::ostreambuf_iterator< _CharT, _Traits >
class | std::reverse_iterator< _Iterator >

## Macros

#define | __cpp_lib_make_reverse_iterator
#define | _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(_Iter)
#define | _GLIBCXX_MAKE_MOVE_ITERATOR(_Iter)

## Typedefs

typedef __traits_type::reference | std::move_iterator< _Iterator >::__base_ref
typedef iterator_traits< _Iterator > | std::reverse_iterator< _Iterator >::__traits_type
typedef iterator_traits< _Iterator > | __gnu_cxx::__normal_iterator< _Iterator, _Container >::__traits_type
typedef iterator_traits< _Iterator > | std::move_iterator< _Iterator >::__traits_type
typedef __true_type | std::__is_move_iterator< move_iterator< _Iterator > >::__type
typedef _CharT | std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::char_type
typedef _CharT | std::istreambuf_iterator< _CharT, _Traits >::char_type
typedef _CharT | std::ostream_iterator< _Tp, _CharT, _Traits >::char_type
typedef _CharT | std::ostreambuf_iterator< _CharT, _Traits >::char_type
typedef _Container | std::back_insert_iterator< _Container >::container_type
typedef _Container | std::front_insert_iterator< _Container >::container_type
typedef _Container | std::insert_iterator< _Container >::container_type
typedef __traits_type::difference_type | std::reverse_iterator< _Iterator >::difference_type
typedef __traits_type::difference_type | __gnu_cxx::__normal_iterator< _Iterator, _Container >::difference_type
typedef __traits_type::difference_type | std::move_iterator< _Iterator >::difference_type
typedef _Traits::int_type | std::istreambuf_iterator< _CharT, _Traits >::int_type
typedef basic_istream< _CharT, _Traits > | std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::istream_type
typedef basic_istream< _CharT, _Traits > | std::istreambuf_iterator< _CharT, _Traits >::istream_type
typedef __traits_type::iterator_category | __gnu_cxx::__normal_iterator< _Iterator, _Container >::iterator_category
typedef __traits_type::iterator_category | std::move_iterator< _Iterator >::iterator_category
typedef _Iterator | std::reverse_iterator< _Iterator >::iterator_type
typedef _Iterator | __gnu_cxx::__normal_iterator< _Iterator, _Container >::iterator_type
typedef _Iterator | std::move_iterator< _Iterator >::iterator_type
typedef basic_ostream< _CharT, _Traits > | std::ostream_iterator< _Tp, _CharT, _Traits >::ostream_type
typedef basic_ostream< _CharT, _Traits > | std::ostreambuf_iterator< _CharT, _Traits >::ostream_type
typedef __traits_type::pointer | std::reverse_iterator< _Iterator >::pointer
typedef __traits_type::pointer | __gnu_cxx::__normal_iterator< _Iterator, _Container >::pointer
typedef _Iterator | std::move_iterator< _Iterator >::pointer
typedef __traits_type::reference | std::reverse_iterator< _Iterator >::reference
typedef __traits_type::reference | __gnu_cxx::__normal_iterator< _Iterator, _Container >::reference
typedef conditional< is_reference< __base_ref >::value, typename remove_reference< __base_ref >::type &&, __base_ref >::type | std::move_iterator< _Iterator >::reference
typedef basic_streambuf< _CharT, _Traits > | std::istreambuf_iterator< _CharT, _Traits >::streambuf_type
typedef basic_streambuf< _CharT, _Traits > | std::ostreambuf_iterator< _CharT, _Traits >::streambuf_type
typedef _Traits | std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::traits_type
typedef _Traits | std::istreambuf_iterator< _CharT, _Traits >::traits_type
typedef _Traits | std::ostream_iterator< _Tp, _CharT, _Traits >::traits_type
typedef _Traits | std::ostreambuf_iterator< _CharT, _Traits >::traits_type
typedef __traits_type::value_type | __gnu_cxx::__normal_iterator< _Iterator, _Container >::value_type
typedef __traits_type::value_type | std::move_iterator< _Iterator >::value_type

## Enumerations

enum | { __value }

## Functions

template<typename _Iter >
| __gnu_cxx::__normal_iterator< _Iterator, _Container >::__normal_iterator (const __normal_iterator< _Iter, typename __enable_if<(std::__are_same< _Iter, typename _Container::pointer >::__value), _Container >::__type > &__i) noexcept
| __gnu_cxx::__normal_iterator< _Iterator, _Container >::__normal_iterator (const _Iterator &__i) noexcept
| std::back_insert_iterator< _Container >::back_insert_iterator (_Container &__x)
| std::front_insert_iterator< _Container >::front_insert_iterator (_Container &__x)
| std::insert_iterator< _Container >::insert_iterator (_Container &__x, typename _Container::iterator __i)
constexpr | std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::istream_iterator ()
| std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::istream_iterator (const istream_iterator &__obj)
| std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::istream_iterator (istream_type &__s)
constexpr | std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator () noexcept
| std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator (const istreambuf_iterator &) noexcept=default
| std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator (istream_type &__s) noexcept
| std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator (streambuf_type *__s) noexcept
template<typename _Iter >
_GLIBCXX17_CONSTEXPR | std::move_iterator< _Iterator >::move_iterator (const move_iterator< _Iter > &__i)
_GLIBCXX17_CONSTEXPR | std::move_iterator< _Iterator >::move_iterator (iterator_type __i)
| std::ostream_iterator< _Tp, _CharT, _Traits >::ostream_iterator (const ostream_iterator &__obj)
| std::ostream_iterator< _Tp, _CharT, _Traits >::ostream_iterator (ostream_type &__s)
| std::ostream_iterator< _Tp, _CharT, _Traits >::ostream_iterator (ostream_type &__s, const _CharT *__c)
| std::ostreambuf_iterator< _CharT, _Traits >::ostreambuf_iterator (ostream_type &__s) noexcept
| std::ostreambuf_iterator< _CharT, _Traits >::ostreambuf_iterator (streambuf_type *__s) noexcept
_GLIBCXX17_CONSTEXPR | std::reverse_iterator< _Iterator >::reverse_iterator ()
_GLIBCXX17_CONSTEXPR | std::reverse_iterator< _Iterator >::reverse_iterator (const reverse_iterator &__x)
template<typename _Iter >
_GLIBCXX17_CONSTEXPR | std::reverse_iterator< _Iterator >::reverse_iterator (const reverse_iterator< _Iter > &__x)
_GLIBCXX17_CONSTEXPR | std::reverse_iterator< _Iterator >::reverse_iterator (iterator_type __x)
template<bool _IsMove, typename _CharT >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, ostreambuf_iterator< _CharT > >::__type | std::__copy_move_a2 (_CharT *__first, _CharT *__last, ostreambuf_iterator< _CharT > __result)
template<bool _IsMove, typename _CharT >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, ostreambuf_iterator< _CharT > >::__type | std::__copy_move_a2 (const _CharT *__first, const _CharT *__last, ostreambuf_iterator< _CharT > __result)
template<bool _IsMove, typename _CharT >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, _CharT * >::__type | std::__copy_move_a2 (istreambuf_iterator< _CharT > __first, istreambuf_iterator< _CharT > __last, _CharT *__result)
template<typename _Iterator , typename _ReturnType = typename conditional<__move_if_noexcept_cond <typename iterator_traits<_Iterator>::value_type>::value, _Iterator, move_iterator<_Iterator>>::type>
_GLIBCXX17_CONSTEXPR _ReturnType | std::__make_move_if_noexcept_iterator (_Iterator __i)
template<typename _Tp , typename _ReturnType = typename conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp*, move_iterator<_Tp*>>::type>
_GLIBCXX17_CONSTEXPR _ReturnType | std::__make_move_if_noexcept_iterator (_Tp *__i)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR reverse_iterator< _Iterator > | std::__make_reverse_iterator (_Iterator __i)
template<typename _Iterator >
auto | std::__miter_base (move_iterator< _Iterator > __it) -> decltype(__miter_base(__it.base()))
template<typename _Iterator >
auto | std::__miter_base (reverse_iterator< _Iterator > __it) -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
template<typename _Iterator , typename _Container >
_Iterator | std::__niter_base (__gnu_cxx::__normal_iterator< _Iterator, _Container > __it)
template<typename _Iterator >
auto | std::__niter_base (move_iterator< _Iterator > __it) -> decltype(make_move_iterator(__niter_base(__it.base())))
template<typename _Iterator >
auto | std::__niter_base (reverse_iterator< _Iterator > __it) -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
bool | std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::_M_equal (const istream_iterator &__x) const
ostreambuf_iterator & | std::ostreambuf_iterator< _CharT, _Traits >::_M_put (const _CharT *__ws, streamsize __len)
template<typename _CharT , typename _Distance >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, void >::__type | std::advance (istreambuf_iterator< _CharT > &__i, _Distance __n)
template<typename _Container >
back_insert_iterator< _Container > | std::back_inserter (_Container &__x)
_GLIBCXX17_CONSTEXPR iterator_type | std::reverse_iterator< _Iterator >::base () const
_GLIBCXX17_CONSTEXPR iterator_type | std::move_iterator< _Iterator >::base () const
const _Iterator & | __gnu_cxx::__normal_iterator< _Iterator, _Container >::base () const noexcept
template<typename _CharT >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, ostreambuf_iterator< _CharT > >::__type | std::copy (istreambuf_iterator< _CharT > __first, istreambuf_iterator< _CharT > __last, ostreambuf_iterator< _CharT > __result)
bool | std::istreambuf_iterator< _CharT, _Traits >::equal (const istreambuf_iterator &__b) const
bool | std::ostreambuf_iterator< _CharT, _Traits >::failed () const noexcept
template<typename _CharT >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, istreambuf_iterator< _CharT > >::__type | std::find (istreambuf_iterator< _CharT > __first, istreambuf_iterator< _CharT > __last, const _CharT &__val)
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 >
_GLIBCXX17_CONSTEXPR move_iterator< _Iterator > | std::make_move_iterator (_Iterator __i)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR reverse_iterator< _Iterator > | std::make_reverse_iterator (_Iterator __i)
template<typename _Iterator , typename _Container >
bool | __gnu_cxx::operator!= (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs) noexcept
template<typename _IteratorL , typename _IteratorR , typename _Container >
bool | __gnu_cxx::operator!= (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs) noexcept
template<class _Tp , class _CharT , class _Traits , class _Dist >
bool | std::operator!= (const istream_iterator< _Tp, _CharT, _Traits, _Dist > &__x, const istream_iterator< _Tp, _CharT, _Traits, _Dist > &__y)
template<typename _CharT , typename _Traits >
bool | std::operator!= (const istreambuf_iterator< _CharT, _Traits > &__a, const istreambuf_iterator< _CharT, _Traits > &__b)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator!= (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator!= (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator!= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator!= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
ostream_iterator & | std::ostream_iterator< _Tp, _CharT, _Traits >::operator* ()
ostreambuf_iterator & | std::ostreambuf_iterator< _CharT, _Traits >::operator* ()
back_insert_iterator & | std::back_insert_iterator< _Container >::operator* ()
front_insert_iterator & | std::front_insert_iterator< _Container >::operator* ()
insert_iterator & | std::insert_iterator< _Container >::operator* ()
const _Tp & | std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator* () const
char_type | std::istreambuf_iterator< _CharT, _Traits >::operator* () const
_GLIBCXX17_CONSTEXPR reference | std::reverse_iterator< _Iterator >::operator* () const
_GLIBCXX17_CONSTEXPR reference | std::move_iterator< _Iterator >::operator* () const
reference | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator* () const noexcept
_GLIBCXX17_CONSTEXPR reverse_iterator | std::reverse_iterator< _Iterator >::operator+ (difference_type __n) const
_GLIBCXX17_CONSTEXPR move_iterator | std::move_iterator< _Iterator >::operator+ (difference_type __n) const
__normal_iterator | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator+ (difference_type __n) const noexcept
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) noexcept
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR move_iterator< _Iterator > | std::operator+ (typename move_iterator< _Iterator >::difference_type __n, const move_iterator< _Iterator > &__x)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR reverse_iterator< _Iterator > | std::operator+ (typename reverse_iterator< _Iterator >::difference_type __n, const reverse_iterator< _Iterator > &__x)
istream_iterator & | std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator++ ()
istreambuf_iterator & | std::istreambuf_iterator< _CharT, _Traits >::operator++ ()
_GLIBCXX17_CONSTEXPR reverse_iterator & | std::reverse_iterator< _Iterator >::operator++ ()
ostream_iterator & | std::ostream_iterator< _Tp, _CharT, _Traits >::operator++ ()
ostreambuf_iterator & | std::ostreambuf_iterator< _CharT, _Traits >::operator++ ()
back_insert_iterator & | std::back_insert_iterator< _Container >::operator++ ()
front_insert_iterator & | std::front_insert_iterator< _Container >::operator++ ()
insert_iterator & | std::insert_iterator< _Container >::operator++ ()
_GLIBCXX17_CONSTEXPR move_iterator & | std::move_iterator< _Iterator >::operator++ ()
__normal_iterator & | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator++ () noexcept
istream_iterator | std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator++ (int)
istreambuf_iterator | std::istreambuf_iterator< _CharT, _Traits >::operator++ (int)
_GLIBCXX17_CONSTEXPR reverse_iterator | std::reverse_iterator< _Iterator >::operator++ (int)
ostream_iterator & | std::ostream_iterator< _Tp, _CharT, _Traits >::operator++ (int)
ostreambuf_iterator & | std::ostreambuf_iterator< _CharT, _Traits >::operator++ (int)
back_insert_iterator | std::back_insert_iterator< _Container >::operator++ (int)
front_insert_iterator | std::front_insert_iterator< _Container >::operator++ (int)
insert_iterator & | std::insert_iterator< _Container >::operator++ (int)
_GLIBCXX17_CONSTEXPR move_iterator | std::move_iterator< _Iterator >::operator++ (int)
__normal_iterator | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator++ (int) noexcept
_GLIBCXX17_CONSTEXPR reverse_iterator & | std::reverse_iterator< _Iterator >::operator+= (difference_type __n)
_GLIBCXX17_CONSTEXPR move_iterator & | std::move_iterator< _Iterator >::operator+= (difference_type __n)
__normal_iterator & | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator+= (difference_type __n) noexcept
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) noexcept
template<typename _IteratorL , typename _IteratorR , typename _Container >
auto | __gnu_cxx::operator- (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs) noexcept -> decltype(__lhs.base() - __rhs.base())
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR auto | std::operator- (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y) -> decltype(__x.base() - __y.base())
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR auto | std::operator- (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y) -> decltype(__y.base() - __x.base())
_GLIBCXX17_CONSTEXPR reverse_iterator | std::reverse_iterator< _Iterator >::operator- (difference_type __n) const
_GLIBCXX17_CONSTEXPR move_iterator | std::move_iterator< _Iterator >::operator- (difference_type __n) const
__normal_iterator | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator- (difference_type __n) const noexcept
_GLIBCXX17_CONSTEXPR reverse_iterator & | std::reverse_iterator< _Iterator >::operator-- ()
_GLIBCXX17_CONSTEXPR move_iterator & | std::move_iterator< _Iterator >::operator-- ()
__normal_iterator & | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-- () noexcept
_GLIBCXX17_CONSTEXPR reverse_iterator | std::reverse_iterator< _Iterator >::operator-- (int)
_GLIBCXX17_CONSTEXPR move_iterator | std::move_iterator< _Iterator >::operator-- (int)
__normal_iterator | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-- (int) noexcept
_GLIBCXX17_CONSTEXPR reverse_iterator & | std::reverse_iterator< _Iterator >::operator-= (difference_type __n)
_GLIBCXX17_CONSTEXPR move_iterator & | std::move_iterator< _Iterator >::operator-= (difference_type __n)
__normal_iterator & | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-= (difference_type __n) noexcept
const _Tp * | std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator-> () const
_GLIBCXX17_CONSTEXPR pointer | std::reverse_iterator< _Iterator >::operator-> () const
_GLIBCXX17_CONSTEXPR pointer | std::move_iterator< _Iterator >::operator-> () const
pointer | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-> () const noexcept
template<typename _Iterator , typename _Container >
bool | __gnu_cxx::operator< (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs) noexcept
template<typename _IteratorL , typename _IteratorR , typename _Container >
bool | __gnu_cxx::operator< (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs) noexcept
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator< (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator< (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator< (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator< (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _Iterator , typename _Container >
bool | __gnu_cxx::operator<= (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs) noexcept
template<typename _IteratorL , typename _IteratorR , typename _Container >
bool | __gnu_cxx::operator<= (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs) noexcept
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator<= (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator<= (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator<= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator<= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
ostreambuf_iterator & | std::ostreambuf_iterator< _CharT, _Traits >::operator= (_CharT __c)
ostream_iterator & | std::ostream_iterator< _Tp, _CharT, _Traits >::operator= (const _Tp &__value)
back_insert_iterator & | std::back_insert_iterator< _Container >::operator= (const typename _Container::value_type &__value)
front_insert_iterator & | std::front_insert_iterator< _Container >::operator= (const typename _Container::value_type &__value)
insert_iterator & | std::insert_iterator< _Container >::operator= (const typename _Container::value_type &__value)
back_insert_iterator & | std::back_insert_iterator< _Container >::operator= (typename _Container::value_type &&__value)
front_insert_iterator & | std::front_insert_iterator< _Container >::operator= (typename _Container::value_type &&__value)
insert_iterator & | std::insert_iterator< _Container >::operator= (typename _Container::value_type &&__value)
template<typename _Iterator , typename _Container >
bool | __gnu_cxx::operator== (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs) noexcept
template<typename _IteratorL , typename _IteratorR , typename _Container >
bool | __gnu_cxx::operator== (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs) noexcept
template<typename _Tp , typename _CharT , typename _Traits , typename _Dist >
bool | std::operator== (const istream_iterator< _Tp, _CharT, _Traits, _Dist > &__x, const istream_iterator< _Tp, _CharT, _Traits, _Dist > &__y)
template<typename _CharT , typename _Traits >
bool | std::operator== (const istreambuf_iterator< _CharT, _Traits > &__a, const istreambuf_iterator< _CharT, _Traits > &__b)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator== (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator== (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator== (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator== (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _Iterator , typename _Container >
bool | __gnu_cxx::operator> (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs) noexcept
template<typename _IteratorL , typename _IteratorR , typename _Container >
bool | __gnu_cxx::operator> (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs) noexcept
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator> (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator> (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator> (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator> (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _Iterator , typename _Container >
bool | __gnu_cxx::operator>= (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs) noexcept
template<typename _IteratorL , typename _IteratorR , typename _Container >
bool | __gnu_cxx::operator>= (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs) noexcept
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator>= (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator>= (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _Iterator >
_GLIBCXX17_CONSTEXPR bool | std::operator>= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
_GLIBCXX17_CONSTEXPR bool | std::operator>= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
_GLIBCXX17_CONSTEXPR reference | std::reverse_iterator< _Iterator >::operator[] (difference_type __n) const
_GLIBCXX17_CONSTEXPR reference | std::move_iterator< _Iterator >::operator[] (difference_type __n) const
reference | __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator[] (difference_type __n) const noexcept

## Variables

_Iterator | __gnu_cxx::__normal_iterator< _Iterator, _Container >::_M_current
_Iterator | std::move_iterator< _Iterator >::_M_current
_Container * | std::back_insert_iterator< _Container >::container
_Container * | std::front_insert_iterator< _Container >::container
_Container * | std::insert_iterator< _Container >::container
_Iterator | std::reverse_iterator< _Iterator >::current
_Container::iterator | std::insert_iterator< _Container >::iter

## Friends

template<bool _IsMove, typename _CharT2 >
__gnu_cxx::__enable_if< __is_char< _CharT2 >::__value, _CharT2 * >::__type | std::istreambuf_iterator< _CharT, _Traits >::__copy_move_a2 (istreambuf_iterator< _CharT2 >, istreambuf_iterator< _CharT2 >, _CharT2 *)
template<typename _CharT2 , typename _Distance >
__gnu_cxx::__enable_if< __is_char< _CharT2 >::__value, void >::__type | std::istreambuf_iterator< _CharT, _Traits >::advance (istreambuf_iterator< _CharT2 > &, _Distance)
template<typename _CharT2 >
__gnu_cxx::__enable_if< __is_char< _CharT2 >::__value, ostreambuf_iterator< _CharT2 > >::__type | std::istreambuf_iterator< _CharT, _Traits >::copy (istreambuf_iterator< _CharT2 >, istreambuf_iterator< _CharT2 >, ostreambuf_iterator< _CharT2 >)
template<typename _CharT2 >
__gnu_cxx::__enable_if< __is_char< _CharT2 >::__value, ostreambuf_iterator< _CharT2 > >::__type | std::ostreambuf_iterator< _CharT, _Traits >::copy (istreambuf_iterator< _CharT2 >, istreambuf_iterator< _CharT2 >, ostreambuf_iterator< _CharT2 >)
template<typename _CharT2 >
__gnu_cxx::__enable_if< __is_char< _CharT2 >::__value, istreambuf_iterator< _CharT2 > >::__type | std::istreambuf_iterator< _CharT, _Traits >::find (istreambuf_iterator< _CharT2 >, istreambuf_iterator< _CharT2 >, const _CharT2 &)

## Detailed Description

Abstractions for uniform iterating through various underlying types.

## Typedef Documentation

## char_type [1/3]

template<typename _CharT , typename _Traits >

typedef _CharT std::istreambuf_iterator< _CharT, _Traits >::char_type

Public typedefs.

Definition at line 64 of file streambuf_iterator.h.

## char_type [2/3]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>>

typedef _CharT std::ostream_iterator< _Tp, _CharT, _Traits >::char_type

Public typedef.

Definition at line 160 of file stream_iterator.h.

## char_type [3/3]

template<typename _CharT , typename _Traits >

typedef _CharT std::ostreambuf_iterator< _CharT, _Traits >::char_type

Public typedefs.

Definition at line 222 of file streambuf_iterator.h.

## container_type [1/3]

template<typename _Container >

typedef _Container std::back_insert_iterator< _Container >::container_type

A nested typedef for the type of whatever container you used.

Definition at line 463 of file bits/stl_iterator.h.

## container_type [2/3]

template<typename _Container >

typedef _Container std::front_insert_iterator< _Container >::container_type

A nested typedef for the type of whatever container you used.

Definition at line 555 of file bits/stl_iterator.h.

## container_type [3/3]

template<typename _Container >

typedef _Container std::insert_iterator< _Container >::container_type

A nested typedef for the type of whatever container you used.

Definition at line 651 of file bits/stl_iterator.h.

## Function Documentation

## back_insert_iterator()

template<typename _Container >

std::back_insert_iterator< _Container >::back_insert_iterator | ( | _Container & | __x | ) |

inline explicit

The only way to create this iterator is with a container.

Definition at line 467 of file bits/stl_iterator.h.

## front_insert_iterator()

template<typename _Container >

std::front_insert_iterator< _Container >::front_insert_iterator | ( | _Container & | __x | ) |

inline explicit

The only way to create this iterator is with a container.

Definition at line 558 of file bits/stl_iterator.h.

## insert_iterator()

template<typename _Container >

std::insert_iterator< _Container >::insert_iterator | ( | _Container & | __x,
|  | typename _Container::iterator | __i
| ) |  |

inline

The only way to create this iterator is with a container and an initial position (a normal iterator into the container).

Definition at line 657 of file bits/stl_iterator.h.

## istream_iterator() [1/2]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>

constexpr std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::istream_iterator | ( |  | ) |

inline constexpr

Construct end of input stream iterator.

Definition at line 64 of file stream_iterator.h.

## istream_iterator() [2/2]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>

std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::istream_iterator | ( | istream_type & | __s | ) |

inline

Construct start of input stream iterator.

Definition at line 68 of file stream_iterator.h.

## istreambuf_iterator() [1/3]

template<typename _CharT , typename _Traits >

constexpr std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator | ( |  | ) |

inline constexpr noexcept

Construct end of input stream iterator.

Definition at line 107 of file streambuf_iterator.h.

## istreambuf_iterator() [2/3]

template<typename _CharT , typename _Traits >

std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator | ( | istream_type & | __s | ) |

inline noexcept

Construct start of input stream iterator.

Definition at line 117 of file streambuf_iterator.h.

## istreambuf_iterator() [3/3]

template<typename _CharT , typename _Traits >

std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator | ( | streambuf_type * | __s | ) |

inline noexcept

Construct start of streambuf iterator.

Definition at line 121 of file streambuf_iterator.h.

## ostream_iterator() [1/3]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>>

std::ostream_iterator< _Tp, _CharT, _Traits >::ostream_iterator | ( | const ostream_iterator< _Tp, _CharT, _Traits > & | __obj | ) |

inline

Copy constructor.

Definition at line 188 of file stream_iterator.h.

## ostream_iterator() [2/3]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>>

std::ostream_iterator< _Tp, _CharT, _Traits >::ostream_iterator | ( | ostream_type & | __s | ) |

inline

Construct from an ostream.

Definition at line 171 of file stream_iterator.h.

## ostream_iterator() [3/3]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>>

std::ostream_iterator< _Tp, _CharT, _Traits >::ostream_iterator | ( | ostream_type & | __s,
|  | const _CharT * | __c
| ) |  |

inline

Construct from an ostream.

The delimiter string c is written to the stream after every Tp written to the stream. The delimiter is not copied, and thus must not be destroyed while this iterator is in use.

Parameters

  __s | Underlying ostream to write to.
  __c | CharT delimiter string to insert.

Definition at line 184 of file stream_iterator.h.

## ostreambuf_iterator() [1/2]

template<typename _CharT , typename _Traits >

std::ostreambuf_iterator< _CharT, _Traits >::ostreambuf_iterator | ( | ostream_type & | __s | ) |

inline noexcept

Construct output iterator from ostream.

Definition at line 240 of file streambuf_iterator.h.

## ostreambuf_iterator() [2/2]

template<typename _CharT , typename _Traits >

std::ostreambuf_iterator< _CharT, _Traits >::ostreambuf_iterator | ( | streambuf_type * | __s | ) |

inline noexcept

Construct output iterator from streambuf.

Definition at line 244 of file streambuf_iterator.h.

## reverse_iterator() [1/4]

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR std::reverse_iterator< _Iterator >::reverse_iterator | ( |  | ) |

inline

The default constructor value-initializes member `current`. If it is a pointer, that means it is zero-initialized.

Definition at line 127 of file bits/stl_iterator.h.

Referenced by std::reverse_iterator< _Iterator >::operator+(), and std::reverse_iterator< _Iterator >::operator-().

## reverse_iterator() [2/4]

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR std::reverse_iterator< _Iterator >::reverse_iterator | ( | const reverse_iterator< _Iterator > & | __x | ) |

inline

The copy constructor is normal.

Definition at line 139 of file bits/stl_iterator.h.

## reverse_iterator() [3/4]

template<typename _Iterator >
template<typename _Iter >

_GLIBCXX17_CONSTEXPR std::reverse_iterator< _Iterator >::reverse_iterator | ( | const reverse_iterator< _Iter > & | __x | ) |

inline

A reverse_iterator across other types can be copied if the underlying iterator can be converted to the type of `current`.

Definition at line 148 of file bits/stl_iterator.h.

## reverse_iterator() [4/4]

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR std::reverse_iterator< _Iterator >::reverse_iterator | ( | iterator_type | __x | ) |

inline explicit

This iterator will move in the opposite direction that `x` does.

Definition at line 133 of file bits/stl_iterator.h.

## back_inserter()

template<typename _Container >

back_insert_iterator<_Container> std::back_inserter | ( | _Container & | __x | ) |

inline

Parameters

  __x | A container of arbitrary type.

Returns
  An instance of back_insert_iterator working on `__x`.

This wrapper function helps in creating back_insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.

Definition at line 533 of file bits/stl_iterator.h.

Referenced by std::match_results< _Bi_iter >::format(), and std::regex_replace().

## base()

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR iterator_type std::reverse_iterator< _Iterator >::base | ( |  | ) | const

inline

Returns
  `current`, the iterator used for underlying work.

Definition at line 155 of file bits/stl_iterator.h.

Referenced by std::operator==().

## equal()

template<typename _CharT , typename _Traits >

bool std::istreambuf_iterator< _CharT, _Traits >::equal | ( | const istreambuf_iterator< _CharT, _Traits > & | __b | ) | const

inline

Return true both iterators are end or both are not end.

Definition at line 176 of file streambuf_iterator.h.

## failed()

template<typename _CharT , typename _Traits >

bool std::ostreambuf_iterator< _CharT, _Traits >::failed | ( |  | ) | const

inline noexcept

Return true if previous operator=() failed.

Definition at line 274 of file streambuf_iterator.h.

## front_inserter()

template<typename _Container >

front_insert_iterator<_Container> std::front_inserter | ( | _Container & | __x | ) |

inline

Parameters

  __x | A container of arbitrary type.

Returns
  An instance of front_insert_iterator working on `x`.

This wrapper function helps in creating front_insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.

Definition at line 624 of file bits/stl_iterator.h.

## inserter()

template<typename _Container , typename _Iterator >

insert_iterator<_Container> std::inserter | ( | _Container & | __x,
|  | _Iterator | __i
| ) |  |

inline

Parameters

  __x | A container of arbitrary type.
  __i | An iterator into the container.

Returns
  An instance of insert_iterator working on `__x`.

This wrapper function helps in creating insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.

Definition at line 739 of file bits/stl_iterator.h.

## make_reverse_iterator()

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reverse_iterator<_Iterator> std::make_reverse_iterator | ( | _Iterator | __i | ) |

inline

Generator function for reverse_iterator.

Definition at line 419 of file bits/stl_iterator.h.

## operator!=()

template<class _Tp , class _CharT , class _Traits , class _Dist >

bool std::operator!= | ( | const istream_iterator< _Tp, _CharT, _Traits, _Dist > & | __x,
|  | const istream_iterator< _Tp, _CharT, _Traits, _Dist > & | __y
| ) |  |

inline

Return false if x and y are both end or not end, or x and y are the same.

Definition at line 137 of file stream_iterator.h.

## operator*() [1/6]

template<typename _CharT , typename _Traits >

ostreambuf_iterator& std::ostreambuf_iterator< _CharT, _Traits >::operator* | ( |  | ) |

inline

Return *this.

Definition at line 259 of file streambuf_iterator.h.

## operator*() [2/6]

template<typename _Container >

back_insert_iterator& std::back_insert_iterator< _Container >::operator* | ( |  | ) |

inline

Simply returns *this.

Definition at line 506 of file bits/stl_iterator.h.

## operator*() [3/6]

template<typename _Container >

front_insert_iterator& std::front_insert_iterator< _Container >::operator* | ( |  | ) |

inline

Simply returns *this.

Definition at line 597 of file bits/stl_iterator.h.

## operator*() [4/6]

template<typename _Container >

insert_iterator& std::insert_iterator< _Container >::operator* | ( |  | ) |

inline

Simply returns *this.

Definition at line 711 of file bits/stl_iterator.h.

## operator*() [5/6]

template<typename _CharT , typename _Traits >

char_type std::istreambuf_iterator< _CharT, _Traits >::operator* | ( |  | ) | const

inline

Return the current character pointed to by iterator. This returns streambuf.sgetc(). It cannot be assigned. NB: The result of operator*() on an end of stream is undefined.

Definition at line 128 of file streambuf_iterator.h.

## operator*() [6/6]

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reference std::reverse_iterator< _Iterator >::operator* | ( |  | ) | const

inline

Returns
  A reference to the value at `–current`

This requires that `–current` is dereferenceable.

Warning
  This implementation requires that for an iterator of the underlying iterator type, `x`, a reference obtained by `*x` remains valid after `x` has been modified or destroyed. This is a bug: http://gcc.gnu.org/PR51823

Definition at line 169 of file bits/stl_iterator.h.

## operator+()

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reverse_iterator std::reverse_iterator< _Iterator >::operator+ | ( | difference_type | __n | ) | const

inline

Returns
  A reverse_iterator that refers to `current` - __n

The underlying iterator must be a Random Access Iterator.

Definition at line 242 of file bits/stl_iterator.h.

References std::reverse_iterator< _Iterator >::reverse_iterator().

## operator++() [1/12]

template<typename _CharT , typename _Traits >

istreambuf_iterator& std::istreambuf_iterator< _CharT, _Traits >::operator++ | ( |  | ) |

inline

Advance the iterator. Calls streambuf.sbumpc().

Definition at line 144 of file streambuf_iterator.h.

## operator++() [2/12]

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reverse_iterator& std::reverse_iterator< _Iterator >::operator++ | ( |  | ) |

inline

Returns
  `*this`

Decrements the underlying iterator.

Definition at line 192 of file bits/stl_iterator.h.

## operator++() [3/12]

template<typename _CharT , typename _Traits >

ostreambuf_iterator& std::ostreambuf_iterator< _CharT, _Traits >::operator++ | ( |  | ) |

inline

Return *this.

Definition at line 269 of file streambuf_iterator.h.

## operator++() [4/12]

template<typename _Container >

back_insert_iterator& std::back_insert_iterator< _Container >::operator++ | ( |  | ) |

inline

Simply returns *this. (This iterator does not move.)

Definition at line 511 of file bits/stl_iterator.h.

## operator++() [5/12]

template<typename _Container >

front_insert_iterator& std::front_insert_iterator< _Container >::operator++ | ( |  | ) |

inline

Simply returns *this. (This iterator does not move.)

Definition at line 602 of file bits/stl_iterator.h.

## operator++() [6/12]

template<typename _Container >

insert_iterator& std::insert_iterator< _Container >::operator++ | ( |  | ) |

inline

Simply returns *this. (This iterator does not move.)

Definition at line 716 of file bits/stl_iterator.h.

## operator++() [7/12]

template<typename _CharT , typename _Traits >

istreambuf_iterator std::istreambuf_iterator< _CharT, _Traits >::operator++ | ( | int |  | ) |

inline

Advance the iterator. Calls streambuf.sbumpc().

Definition at line 158 of file streambuf_iterator.h.

## operator++() [8/12]

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reverse_iterator std::reverse_iterator< _Iterator >::operator++ | ( | int |  | ) |

inline

Returns
  The original value of `*this`

Decrements the underlying iterator.

Definition at line 204 of file bits/stl_iterator.h.

## operator++() [9/12]

template<typename _CharT , typename _Traits >

ostreambuf_iterator& std::ostreambuf_iterator< _CharT, _Traits >::operator++ | ( | int |  | ) |

inline

Return *this.

Definition at line 264 of file streambuf_iterator.h.

## operator++() [10/12]

template<typename _Container >

back_insert_iterator std::back_insert_iterator< _Container >::operator++ | ( | int |  | ) |

inline

Simply returns *this. (This iterator does not move.)

Definition at line 516 of file bits/stl_iterator.h.

## operator++() [11/12]

template<typename _Container >

front_insert_iterator std::front_insert_iterator< _Container >::operator++ | ( | int |  | ) |

inline

Simply returns *this. (This iterator does not move.)

Definition at line 607 of file bits/stl_iterator.h.

## operator++() [12/12]

template<typename _Container >

insert_iterator& std::insert_iterator< _Container >::operator++ | ( | int |  | ) |

inline

Simply returns *this. (This iterator does not move.)

Definition at line 721 of file bits/stl_iterator.h.

## operator+=()

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reverse_iterator& std::reverse_iterator< _Iterator >::operator+= | ( | difference_type | __n | ) |

inline

Returns
  *this

Moves the underlying iterator backwards __n steps. The underlying iterator must be a Random Access Iterator.

Definition at line 252 of file bits/stl_iterator.h.

## operator-()

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reverse_iterator std::reverse_iterator< _Iterator >::operator- | ( | difference_type | __n | ) | const

inline

Returns
  A reverse_iterator that refers to `current` - __n

The underlying iterator must be a Random Access Iterator.

Definition at line 264 of file bits/stl_iterator.h.

References std::reverse_iterator< _Iterator >::reverse_iterator().

## operator--() [1/2]

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reverse_iterator& std::reverse_iterator< _Iterator >::operator-- | ( |  | ) |

inline

Returns
  `*this`

Increments the underlying iterator.

Definition at line 217 of file bits/stl_iterator.h.

## operator--() [2/2]

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reverse_iterator std::reverse_iterator< _Iterator >::operator-- | ( | int |  | ) |

inline

Returns
  A reverse_iterator with the previous value of `*this`

Increments the underlying iterator.

Definition at line 229 of file bits/stl_iterator.h.

## operator-=()

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reverse_iterator& std::reverse_iterator< _Iterator >::operator-= | ( | difference_type | __n | ) |

inline

Returns
  *this

Moves the underlying iterator forwards __n steps. The underlying iterator must be a Random Access Iterator.

Definition at line 274 of file bits/stl_iterator.h.

## operator->()

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR pointer std::reverse_iterator< _Iterator >::operator-> | ( |  | ) | const

inline

Returns
  A pointer to the value at `–current`

This requires that `–current` is dereferenceable.

Definition at line 183 of file bits/stl_iterator.h.

References std::__addressof().

## operator=() [1/5]

template<typename _CharT , typename _Traits >

ostreambuf_iterator& std::ostreambuf_iterator< _CharT, _Traits >::operator= | ( | _CharT | __c | ) |

inline

Write character to streambuf. Calls streambuf.sputc().

Definition at line 249 of file streambuf_iterator.h.

References std::basic_streambuf< _CharT, _Traits >::sputc().

## operator=() [2/5]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>>

ostream_iterator& std::ostream_iterator< _Tp, _CharT, _Traits >::operator= | ( | const _Tp & | __value | ) |

inline

Writes value to underlying ostream using operator<<. If constructed with delimiter string, writes delimiter to ostream.

Definition at line 194 of file stream_iterator.h.

## operator=() [3/5]

template<typename _Container >

back_insert_iterator& std::back_insert_iterator< _Container >::operator= | ( | const typename _Container::value_type & | __value | ) |

inline

Parameters

  __value | An instance of whatever type container_type::const_reference is; presumably a reference-to-const T for container<T>.

Returns
  This iterator, for chained operations.

This kind of iterator doesn't really have a position in the container (you can think of the position as being permanently at the end, if you like). Assigning a value to the iterator will always append the value to the end of the container.

Definition at line 490 of file bits/stl_iterator.h.

## operator=() [4/5]

template<typename _Container >

front_insert_iterator& std::front_insert_iterator< _Container >::operator= | ( | const typename _Container::value_type & | __value | ) |

inline

Parameters

  __value | An instance of whatever type container_type::const_reference is; presumably a reference-to-const T for container<T>.

Returns
  This iterator, for chained operations.

This kind of iterator doesn't really have a position in the container (you can think of the position as being permanently at the front, if you like). Assigning a value to the iterator will always prepend the value to the front of the container.

Definition at line 581 of file bits/stl_iterator.h.

## operator=() [5/5]

template<typename _Container >

insert_iterator& std::insert_iterator< _Container >::operator= | ( | const typename _Container::value_type & | __value | ) |

inline

Parameters

  __value | An instance of whatever type container_type::const_reference is; presumably a reference-to-const T for container<T>.

Returns
  This iterator, for chained operations.

This kind of iterator maintains its own position in the container. Assigning a value to the iterator will insert the value into the container at the place before the iterator.

The position is maintained such that subsequent assignments will insert values immediately after one another. For example,

// vector v contains A and Z
insert_iterator i (v, ++v.begin());
i = 1;
i = 2;
i = 3;
// vector v contains A, 1, 2, 3, and Z

Definition at line 693 of file bits/stl_iterator.h.

## operator==() [1/2]

template<typename _Tp , typename _CharT , typename _Traits , typename _Dist >

bool std::operator== | ( | const istream_iterator< _Tp, _CharT, _Traits, _Dist > & | __x,
|  | const istream_iterator< _Tp, _CharT, _Traits, _Dist > & | __y
| ) |  |

inline

Return true if x and y are both end or not end, or x and y are the same.

Definition at line 130 of file stream_iterator.h.

## operator==() [2/2]

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR bool std::operator== | ( | const reverse_iterator< _Iterator > & | __x,
|  | const reverse_iterator< _Iterator > & | __y
| ) |  |

inline

Parameters

  __x | A reverse_iterator.
  __y | A reverse_iterator.

Returns
  A simple bool.

Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 302 of file bits/stl_iterator.h.

References std::reverse_iterator< _Iterator >::base().

## operator[]()

template<typename _Iterator >

_GLIBCXX17_CONSTEXPR reference std::reverse_iterator< _Iterator >::operator[] | ( | difference_type | __n | ) | const

inline

Returns
  The value at `current` - __n - 1

The underlying iterator must be a Random Access Iterator.

Definition at line 286 of file bits/stl_iterator.h.

std::insert_iterator::insert_iterator
insert_iterator(_Container &__x, typename _Container::iterator __i)
Definition: bits/stl_iterator.h:657