libstdc++
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 iterator_traits< _Iterator > std::reverse_iterator< _Iterator >::__traits_type
 
typedef std::iterator_traits< _Iterator > __gnu_cxx::__normal_iterator< _Iterator, _Container >::__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::ostream_iterator< _Tp, _CharT, _Traits >::char_type
 
typedef _CharT std::istreambuf_iterator< _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
 
using std::move_iterator< _Iterator >::iterator_type = _Iterator
 
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, typenameremove_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::ostream_iterator< _Tp, _CharT, _Traits >::traits_type
 
typedef _Traits std::istreambuf_iterator< _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 >
constexpr __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
 
constexpr __gnu_cxx::__normal_iterator< _Iterator, _Container >::__normal_iterator (const _Iterator &__i) noexcept
 
constexpr std::back_insert_iterator< _Container >::back_insert_iterator (_Container &__x)
 
constexpr std::front_insert_iterator< _Container >::front_insert_iterator (_Container &__x)
 
constexpr std::insert_iterator< _Container >::insert_iterator (_Container &__x, _Iter __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 >
constexpr std::move_iterator< _Iterator >::move_iterator (const move_iterator< _Iter > &__i)
 
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
 
constexpr std::reverse_iterator< _Iterator >::reverse_iterator ()
 
constexpr std::reverse_iterator< _Iterator >::reverse_iterator (const reverse_iterator &__x)
 
template<typename _Iter >
constexpr std::reverse_iterator< _Iterator >::reverse_iterator (const reverse_iterator< _Iter > &__x)
 
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 _CharT , typename _Size >
__enable_if_t< __is_char< _CharT >::__value, _CharT * > std::__copy_n_a (istreambuf_iterator< _CharT > __it, _Size __n, _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>
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>
constexpr _ReturnType std::__make_move_if_noexcept_iterator (_Tp *__i)
 
template<typename _Iterator >
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 >
constexpr auto std::__miter_base (reverse_iterator< _Iterator > __it) -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
 
template<typename _Iterator , typename _Container >
constexpr _Iterator std::__niter_base (__gnu_cxx::__normal_iterator< _Iterator, _Container > __it) noexcept(/*conditional */)
 
template<typename _Iterator >
auto std::__niter_base (move_iterator< _Iterator > __it) -> decltype(make_move_iterator(__niter_base(__it.base())))
 
template<typename _Iterator >
constexpr auto std::__niter_base (reverse_iterator< _Iterator > __it) -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
 
ostreambuf_iteratorstd::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 >
constexpr back_insert_iterator< _Container > std::back_inserter (_Container &__x)
 
constexpr iterator_type std::reverse_iterator< _Iterator >::base () const
 
constexpr iterator_type std::move_iterator< _Iterator >::base () const
 
constexpr 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 >
constexpr 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 >
constexpr move_iterator< _Iterator > std::make_move_iterator (_Iterator __i)
 
template<typename _Iterator >
constexpr reverse_iterator< _Iterator > std::make_reverse_iterator (_Iterator __i)
 
template<typename _Iterator , typename _Container >
constexpr bool __gnu_cxx::operator!= (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs) noexcept
 
template<typename _IteratorL , typename _IteratorR , typename _Container >
constexpr bool __gnu_cxx::operator!= (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs) noexcept
 
template<typename _CharT , typename _Traits >
bool std::operator!= (const istreambuf_iterator< _CharT, _Traits > &__a, const istreambuf_iterator< _CharT, _Traits > &__b)
 
template<typename _Iterator >
constexpr bool std::operator!= (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator!= (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
 
template<typename _Iterator >
constexpr bool std::operator!= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator!= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
 
constexpr back_insert_iteratorstd::back_insert_iterator< _Container >::operator* ()
 
constexpr front_insert_iteratorstd::front_insert_iterator< _Container >::operator* ()
 
constexpr insert_iteratorstd::insert_iterator< _Container >::operator* ()
 
ostream_iteratorstd::ostream_iterator< _Tp, _CharT, _Traits >::operator* ()
 
ostreambuf_iteratorstd::ostreambuf_iterator< _CharT, _Traits >::operator* ()
 
constexpr reference std::reverse_iterator< _Iterator >::operator* () const
 
constexpr reference std::move_iterator< _Iterator >::operator* () const
 
const _Tp & std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator* () const
 
char_type std::istreambuf_iterator< _CharT, _Traits >::operator* () const
 
constexpr reference __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator* () const noexcept
 
constexpr reverse_iterator std::reverse_iterator< _Iterator >::operator+ (difference_type __n) const
 
constexpr move_iterator std::move_iterator< _Iterator >::operator+ (difference_type __n) const
 
constexpr __normal_iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator+ (difference_type __n) const noexcept
 
template<typename _Iterator , typename _Container >
constexpr __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 >
constexpr move_iterator< _Iterator > std::operator+ (typename move_iterator< _Iterator >::difference_type __n, const move_iterator< _Iterator > &__x)
 
template<typename _Iterator >
constexpr reverse_iterator< _Iterator > std::operator+ (typename reverse_iterator< _Iterator >::difference_type __n, const reverse_iterator< _Iterator > &__x)
 
constexpr reverse_iteratorstd::reverse_iterator< _Iterator >::operator++ ()
 
constexpr back_insert_iteratorstd::back_insert_iterator< _Container >::operator++ ()
 
constexpr front_insert_iteratorstd::front_insert_iterator< _Container >::operator++ ()
 
constexpr insert_iteratorstd::insert_iterator< _Container >::operator++ ()
 
constexpr move_iteratorstd::move_iterator< _Iterator >::operator++ ()
 
istream_iteratorstd::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator++ ()
 
ostream_iteratorstd::ostream_iterator< _Tp, _CharT, _Traits >::operator++ ()
 
istreambuf_iteratorstd::istreambuf_iterator< _CharT, _Traits >::operator++ ()
 
ostreambuf_iteratorstd::ostreambuf_iterator< _CharT, _Traits >::operator++ ()
 
constexpr __normal_iterator & __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator++ () noexcept
 
constexpr reverse_iterator std::reverse_iterator< _Iterator >::operator++ (int)
 
constexpr back_insert_iterator std::back_insert_iterator< _Container >::operator++ (int)
 
constexpr front_insert_iterator std::front_insert_iterator< _Container >::operator++ (int)
 
constexpr insert_iteratorstd::insert_iterator< _Container >::operator++ (int)
 
constexpr move_iterator std::move_iterator< _Iterator >::operator++ (int)
 
istream_iterator std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator++ (int)
 
ostream_iteratorstd::ostream_iterator< _Tp, _CharT, _Traits >::operator++ (int)
 
istreambuf_iterator std::istreambuf_iterator< _CharT, _Traits >::operator++ (int)
 
ostreambuf_iteratorstd::ostreambuf_iterator< _CharT, _Traits >::operator++ (int)
 
constexpr __normal_iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator++ (int) noexcept
 
constexpr reverse_iteratorstd::reverse_iterator< _Iterator >::operator+= (difference_type __n)
 
constexpr move_iteratorstd::move_iterator< _Iterator >::operator+= (difference_type __n)
 
constexpr __normal_iterator & __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator+= (difference_type __n) noexcept
 
template<typename _Iterator , typename _Container >
constexpr __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 >
constexpr 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 >
constexpr auto std::operator- (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y) -> decltype(__x.base() - __y.base())
 
template<typename _IteratorL , typename _IteratorR >
constexpr auto std::operator- (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y) -> decltype(__y.base() - __x.base())
 
constexpr reverse_iterator std::reverse_iterator< _Iterator >::operator- (difference_type __n) const
 
constexpr move_iterator std::move_iterator< _Iterator >::operator- (difference_type __n) const
 
constexpr __normal_iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator- (difference_type __n) const noexcept
 
constexpr reverse_iteratorstd::reverse_iterator< _Iterator >::operator-- ()
 
constexpr move_iteratorstd::move_iterator< _Iterator >::operator-- ()
 
constexpr __normal_iterator & __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-- () noexcept
 
constexpr reverse_iterator std::reverse_iterator< _Iterator >::operator-- (int)
 
constexpr move_iterator std::move_iterator< _Iterator >::operator-- (int)
 
constexpr __normal_iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-- (int) noexcept
 
constexpr reverse_iteratorstd::reverse_iterator< _Iterator >::operator-= (difference_type __n)
 
constexpr move_iteratorstd::move_iterator< _Iterator >::operator-= (difference_type __n)
 
constexpr __normal_iterator & __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-= (difference_type __n) noexcept
 
constexpr pointer std::reverse_iterator< _Iterator >::operator-> () const
 
constexpr pointer std::move_iterator< _Iterator >::operator-> () const
 
const _Tp * std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator-> () const
 
constexpr pointer __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-> () const noexcept
 
template<typename _Iterator , typename _Container >
constexpr 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 >
constexpr bool std::operator< (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator< (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
 
template<typename _Iterator >
constexpr bool std::operator< (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator< (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
 
template<typename _Iterator , typename _Container >
constexpr 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 >
constexpr bool std::operator<= (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator<= (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
 
template<typename _Iterator >
constexpr bool std::operator<= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator<= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
 
ostreambuf_iteratorstd::ostreambuf_iterator< _CharT, _Traits >::operator= (_CharT __c)
 
ostream_iteratorstd::ostream_iterator< _Tp, _CharT, _Traits >::operator= (const _Tp &__value)
 
istream_iteratorstd::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator= (const istream_iterator &)=default
 
istreambuf_iteratorstd::istreambuf_iterator< _CharT, _Traits >::operator= (const istreambuf_iterator &) noexcept=default
 
ostream_iteratorstd::ostream_iterator< _Tp, _CharT, _Traits >::operator= (const ostream_iterator &)=default
 
reverse_iteratorstd::reverse_iterator< _Iterator >::operator= (const reverse_iterator &)=default
 
constexpr back_insert_iteratorstd::back_insert_iterator< _Container >::operator= (const typename _Container::value_type &__value)
 
constexpr front_insert_iteratorstd::front_insert_iterator< _Container >::operator= (const typename _Container::value_type &__value)
 
constexpr insert_iteratorstd::insert_iterator< _Container >::operator= (const typename _Container::value_type &__value)
 
constexpr back_insert_iteratorstd::back_insert_iterator< _Container >::operator= (typename _Container::value_type &&__value)
 
constexpr front_insert_iteratorstd::front_insert_iterator< _Container >::operator= (typename _Container::value_type &&__value)
 
constexpr insert_iteratorstd::insert_iterator< _Container >::operator= (typename _Container::value_type &&__value)
 
template<typename _Iterator , typename _Container >
constexpr bool __gnu_cxx::operator== (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs) noexcept
 
template<typename _IteratorL , typename _IteratorR , typename _Container >
constexpr bool __gnu_cxx::operator== (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs) noexcept
 
template<typename _CharT , typename _Traits >
bool std::operator== (const istreambuf_iterator< _CharT, _Traits > &__a, const istreambuf_iterator< _CharT, _Traits > &__b)
 
template<typename _Iterator >
constexpr bool std::operator== (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator== (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
 
template<typename _Iterator >
constexpr bool std::operator== (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator== (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
 
template<typename _Iterator , typename _Container >
constexpr 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 >
constexpr bool std::operator> (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator> (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
 
template<typename _Iterator >
constexpr bool std::operator> (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator> (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
 
template<typename _Iterator , typename _Container >
constexpr 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 >
constexpr bool std::operator>= (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator>= (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
 
template<typename _Iterator >
constexpr bool std::operator>= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
 
template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator>= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
 
constexpr reference std::reverse_iterator< _Iterator >::operator[] (difference_type __n) const
 
constexpr reference std::move_iterator< _Iterator >::operator[] (difference_type __n) const
 
constexpr reference __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator[] (difference_type __n) const noexcept
 

Variables

_Iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::_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
 
_Iter 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 _Size >
__enable_if_t< __is_char< _CharT2 >::__value, _CharT2 * > std::istreambuf_iterator< _CharT, _Traits >::__copy_n_a (istreambuf_iterator< _CharT2 >, _Size, _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 &)
 
bool std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator!= (const istream_iterator &__x, const istream_iterator &__y)
 
bool std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator== (const istream_iterator &__x, const istream_iterator &__y)
 

Detailed Description

Abstractions for uniform iterating through various underlying types.

Macro Definition Documentation

◆ __cpp_lib_make_reverse_iterator

#define __cpp_lib_make_reverse_iterator

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

◆ _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR

#define _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR (   _Iter)

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

◆ _GLIBCXX_MAKE_MOVE_ITERATOR

#define _GLIBCXX_MAKE_MOVE_ITERATOR (   _Iter)

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

Typedef Documentation

◆ __traits_type [1/2]

template<typename _Iterator >
typedef iterator_traits<_Iterator> std::reverse_iterator< _Iterator >::__traits_type
protected

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

◆ __traits_type [2/2]

template<typename _Iterator , typename _Container >
typedef std::iterator_traits<_Iterator> __gnu_cxx::__normal_iterator< _Iterator, _Container >::__traits_type
protected

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

◆ __type

template<typename _Iterator >
typedef __true_type std::__is_move_iterator< move_iterator< _Iterator > >::__type

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

◆ char_type [1/4]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
typedef _CharT std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::char_type

Definition at line 53 of file stream_iterator.h.

◆ char_type [2/4]

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 185 of file stream_iterator.h.

◆ char_type [3/4]

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

Public typedefs.

Definition at line 66 of file streambuf_iterator.h.

◆ char_type [4/4]

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

Public typedefs.

Definition at line 249 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 576 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 679 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 797 of file bits/stl_iterator.h.

◆ difference_type [1/3]

template<typename _Iterator >
typedef __traits_type::difference_type std::reverse_iterator< _Iterator >::difference_type

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

◆ difference_type [2/3]

template<typename _Iterator , typename _Container >
typedef __traits_type::difference_type __gnu_cxx::__normal_iterator< _Iterator, _Container >::difference_type

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

◆ difference_type [3/3]

template<typename _Iterator >
typedef __traits_type::difference_type std::move_iterator< _Iterator >::difference_type

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

◆ int_type

template<typename _CharT , typename _Traits >
typedef _Traits::int_type std::istreambuf_iterator< _CharT, _Traits >::int_type

Definition at line 68 of file streambuf_iterator.h.

◆ istream_type [1/2]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
typedef basic_istream<_CharT, _Traits> std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::istream_type

Definition at line 55 of file stream_iterator.h.

◆ istream_type [2/2]

template<typename _CharT , typename _Traits >
typedef basic_istream<_CharT, _Traits> std::istreambuf_iterator< _CharT, _Traits >::istream_type

Definition at line 70 of file streambuf_iterator.h.

◆ iterator_category [1/2]

template<typename _Iterator , typename _Container >
typedef __traits_type::iterator_category __gnu_cxx::__normal_iterator< _Iterator, _Container >::iterator_category

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

◆ iterator_category [2/2]

template<typename _Iterator >
typedef __traits_type::iterator_category std::move_iterator< _Iterator >::iterator_category

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

◆ iterator_type [1/3]

template<typename _Iterator >
typedef _Iterator std::reverse_iterator< _Iterator >::iterator_type

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

◆ iterator_type [2/3]

template<typename _Iterator , typename _Container >
typedef _Iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::iterator_type

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

◆ iterator_type [3/3]

template<typename _Iterator >
using std::move_iterator< _Iterator >::iterator_type = _Iterator

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

◆ ostream_type [1/2]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>>
typedef basic_ostream<_CharT, _Traits> std::ostream_iterator< _Tp, _CharT, _Traits >::ostream_type

Definition at line 187 of file stream_iterator.h.

◆ ostream_type [2/2]

template<typename _CharT , typename _Traits >
typedef basic_ostream<_CharT, _Traits> std::ostreambuf_iterator< _CharT, _Traits >::ostream_type

Definition at line 252 of file streambuf_iterator.h.

◆ pointer [1/3]

template<typename _Iterator >
typedef __traits_type::pointer std::reverse_iterator< _Iterator >::pointer

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

◆ pointer [2/3]

template<typename _Iterator , typename _Container >
typedef __traits_type::pointer __gnu_cxx::__normal_iterator< _Iterator, _Container >::pointer

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

◆ pointer [3/3]

template<typename _Iterator >
typedef _Iterator std::move_iterator< _Iterator >::pointer

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

◆ reference [1/3]

template<typename _Iterator >
typedef __traits_type::reference std::reverse_iterator< _Iterator >::reference

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

◆ reference [2/3]

template<typename _Iterator , typename _Container >
typedef __traits_type::reference __gnu_cxx::__normal_iterator< _Iterator, _Container >::reference

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

◆ reference [3/3]

template<typename _Iterator >
typedef conditional<is_reference<__base_ref>::value,typenameremove_reference<__base_ref>::type&&,__base_ref>::type std::move_iterator< _Iterator >::reference

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

◆ streambuf_type [1/2]

template<typename _CharT , typename _Traits >
typedef basic_streambuf<_CharT, _Traits> std::istreambuf_iterator< _CharT, _Traits >::streambuf_type

Definition at line 69 of file streambuf_iterator.h.

◆ streambuf_type [2/2]

template<typename _CharT , typename _Traits >
typedef basic_streambuf<_CharT, _Traits> std::ostreambuf_iterator< _CharT, _Traits >::streambuf_type

Definition at line 251 of file streambuf_iterator.h.

◆ traits_type [1/4]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
typedef _Traits std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::traits_type

Definition at line 54 of file stream_iterator.h.

◆ traits_type [2/4]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>>
typedef _Traits std::ostream_iterator< _Tp, _CharT, _Traits >::traits_type

Definition at line 186 of file stream_iterator.h.

◆ traits_type [3/4]

template<typename _CharT , typename _Traits >
typedef _Traits std::istreambuf_iterator< _CharT, _Traits >::traits_type

Definition at line 67 of file streambuf_iterator.h.

◆ traits_type [4/4]

template<typename _CharT , typename _Traits >
typedef _Traits std::ostreambuf_iterator< _CharT, _Traits >::traits_type

Definition at line 250 of file streambuf_iterator.h.

◆ value_type [1/2]

template<typename _Iterator , typename _Container >
typedef __traits_type::value_type __gnu_cxx::__normal_iterator< _Iterator, _Container >::value_type

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

◆ value_type [2/2]

template<typename _Iterator >
typedef __traits_type::value_type std::move_iterator< _Iterator >::value_type

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

Enumeration Type Documentation

◆ anonymous enum

template<typename _Iterator >
anonymous enum

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

Function Documentation

◆ __normal_iterator() [1/3]

template<typename _Iterator , typename _Container >
constexpr __gnu_cxx::__normal_iterator< _Iterator, _Container >::__normal_iterator ( )
inlineconstexprnoexcept

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

◆ __normal_iterator() [2/3]

template<typename _Iterator , typename _Container >
template<typename _Iter >
constexpr __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 
)
inlineconstexprnoexcept

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

◆ __normal_iterator() [3/3]

template<typename _Iterator , typename _Container >
constexpr __gnu_cxx::__normal_iterator< _Iterator, _Container >::__normal_iterator ( const _Iterator &  __i)
inlineexplicitconstexprnoexcept

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

◆ back_insert_iterator()

template<typename _Container >
constexpr std::back_insert_iterator< _Container >::back_insert_iterator ( _Container &  __x)
inlineexplicitconstexpr

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

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

◆ front_insert_iterator()

template<typename _Container >
constexpr std::front_insert_iterator< _Container >::front_insert_iterator ( _Container &  __x)
inlineexplicitconstexpr

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

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

◆ insert_iterator()

template<typename _Container >
constexpr std::insert_iterator< _Container >::insert_iterator ( _Container &  __x,
_Iter  __i 
)
inlineconstexpr

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

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

◆ istream_iterator() [1/3]

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 ( )
inlineconstexpr

Construct end of input stream iterator.

Definition at line 67 of file stream_iterator.h.

◆ istream_iterator() [2/3]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::istream_iterator ( const istream_iterator< _Tp, _CharT, _Traits, _Dist > &  __obj)
inline

Definition at line 75 of file stream_iterator.h.

◆ istream_iterator() [3/3]

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 71 of file stream_iterator.h.

◆ istreambuf_iterator() [1/3]

template<typename _CharT , typename _Traits >
constexpr std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator ( )
inlineconstexprnoexcept

Construct end of input stream iterator.

Definition at line 115 of file streambuf_iterator.h.

◆ istreambuf_iterator() [2/3]

template<typename _CharT , typename _Traits >
std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator ( istream_type __s)
inlinenoexcept

Construct start of input stream iterator.

Definition at line 130 of file streambuf_iterator.h.

◆ istreambuf_iterator() [3/3]

template<typename _CharT , typename _Traits >
std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator ( streambuf_type __s)
inlinenoexcept

Construct start of streambuf iterator.

Definition at line 134 of file streambuf_iterator.h.

◆ move_iterator() [1/3]

template<typename _Iterator >
constexpr std::move_iterator< _Iterator >::move_iterator ( )
inlineconstexpr

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

◆ move_iterator() [2/3]

template<typename _Iterator >
template<typename _Iter >
constexpr std::move_iterator< _Iterator >::move_iterator ( const move_iterator< _Iter > &  __i)
inlineconstexpr

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

◆ move_iterator() [3/3]

template<typename _Iterator >
constexpr std::move_iterator< _Iterator >::move_iterator ( iterator_type  __i)
inlineexplicitconstexpr

Definition at line 1296 of file bits/stl_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 218 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 201 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
__sUnderlying ostream to write to.
__cCharT delimiter string to insert.

Definition at line 214 of file stream_iterator.h.

◆ ostreambuf_iterator() [1/2]

template<typename _CharT , typename _Traits >
std::ostreambuf_iterator< _CharT, _Traits >::ostreambuf_iterator ( ostream_type __s)
inlinenoexcept

Construct output iterator from ostream.

Definition at line 274 of file streambuf_iterator.h.

◆ ostreambuf_iterator() [2/2]

template<typename _CharT , typename _Traits >
std::ostreambuf_iterator< _CharT, _Traits >::ostreambuf_iterator ( streambuf_type __s)
inlinenoexcept

Construct output iterator from streambuf.

Definition at line 278 of file streambuf_iterator.h.

◆ reverse_iterator() [1/4]

template<typename _Iterator >
constexpr std::reverse_iterator< _Iterator >::reverse_iterator ( )
inlineconstexpr

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

Definition at line 158 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 >
constexpr std::reverse_iterator< _Iterator >::reverse_iterator ( const reverse_iterator< _Iterator > &  __x)
inlineconstexpr

The copy constructor is normal.

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

◆ reverse_iterator() [3/4]

template<typename _Iterator >
template<typename _Iter >
constexpr std::reverse_iterator< _Iterator >::reverse_iterator ( const reverse_iterator< _Iter > &  __x)
inlineconstexpr

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

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

◆ reverse_iterator() [4/4]

template<typename _Iterator >
constexpr std::reverse_iterator< _Iterator >::reverse_iterator ( iterator_type  __x)
inlineexplicitconstexpr

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

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

◆ __copy_move_a2() [1/3]

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 
)

Definition at line 343 of file streambuf_iterator.h.

◆ __copy_move_a2() [2/3]

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 
)

Definition at line 355 of file streambuf_iterator.h.

◆ __copy_move_a2() [3/3]

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 
)

Definition at line 367 of file streambuf_iterator.h.

◆ __copy_n_a()

template<typename _CharT , typename _Size >
__enable_if_t< __is_char< _CharT >::__value, _CharT * > std::__copy_n_a ( istreambuf_iterator< _CharT >  __it,
_Size  __n,
_CharT *  __result 
)

Definition at line 402 of file streambuf_iterator.h.

◆ __make_move_if_noexcept_iterator() [1/2]

template<typename _Iterator , typename _ReturnType = typename conditional<__move_if_noexcept_cond <typename iterator_traits<_Iterator>::value_type>::value, _Iterator, move_iterator<_Iterator>>::type>
constexpr _ReturnType std::__make_move_if_noexcept_iterator ( _Iterator  __i)
inlineconstexpr

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

◆ __make_move_if_noexcept_iterator() [2/2]

template<typename _Tp , typename _ReturnType = typename conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp*, move_iterator<_Tp*>>::type>
constexpr _ReturnType std::__make_move_if_noexcept_iterator ( _Tp *  __i)
inlineconstexpr

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

◆ __make_reverse_iterator()

template<typename _Iterator >
constexpr reverse_iterator< _Iterator > std::__make_reverse_iterator ( _Iterator  __i)
inlineconstexpr

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

◆ __miter_base() [1/2]

template<typename _Iterator >
auto std::__miter_base ( move_iterator< _Iterator >  __it) -> decltype(__miter_base(__it.base()))

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

◆ __miter_base() [2/2]

template<typename _Iterator >
constexpr auto std::__miter_base ( reverse_iterator< _Iterator >  __it) -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
constexpr

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

◆ __niter_base() [1/3]

template<typename _Iterator , typename _Container >
constexpr _Iterator std::__niter_base ( __gnu_cxx::__normal_iterator< _Iterator, _Container >  __it)
constexprnoexcept

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

◆ __niter_base() [2/3]

template<typename _Iterator >
auto std::__niter_base ( move_iterator< _Iterator >  __it) -> decltype(make_move_iterator(__niter_base(__it.base())))

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

◆ __niter_base() [3/3]

template<typename _Iterator >
constexpr auto std::__niter_base ( reverse_iterator< _Iterator >  __it) -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
constexpr

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

◆ _M_put()

template<typename _CharT , typename _Traits >
ostreambuf_iterator & std::ostreambuf_iterator< _CharT, _Traits >::_M_put ( const _CharT *  __ws,
streamsize  __len 
)
inline

Definition at line 312 of file streambuf_iterator.h.

◆ advance()

template<typename _CharT , typename _Distance >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, void >::__type std::advance ( istreambuf_iterator< _CharT > &  __i,
_Distance  __n 
)

Definition at line 462 of file streambuf_iterator.h.

◆ back_inserter()

template<typename _Container >
constexpr back_insert_iterator< _Container > std::back_inserter ( _Container &  __x)
inlineconstexpr
Parameters
__xA 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 657 of file bits/stl_iterator.h.

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

◆ base() [1/3]

template<typename _Iterator >
constexpr iterator_type std::reverse_iterator< _Iterator >::base ( ) const
inlineconstexpr
Returns
current, the iterator used for underlying work.

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

Referenced by std::operator==().

◆ base() [2/3]

template<typename _Iterator >
constexpr iterator_type std::move_iterator< _Iterator >::base ( ) const
inlineconstexpr

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

◆ base() [3/3]

template<typename _Iterator , typename _Container >
constexpr const _Iterator & __gnu_cxx::__normal_iterator< _Iterator, _Container >::base ( ) const
inlineconstexprnoexcept

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

◆ copy()

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 
)

Definition at line 326 of file streambuf_iterator.h.

◆ 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 194 of file streambuf_iterator.h.

◆ failed()

template<typename _CharT , typename _Traits >
bool std::ostreambuf_iterator< _CharT, _Traits >::failed ( ) const
inlinenoexcept

Return true if previous operator=() failed.

Definition at line 308 of file streambuf_iterator.h.

◆ find()

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 
)

Definition at line 422 of file streambuf_iterator.h.

◆ front_inserter()

template<typename _Container >
constexpr front_insert_iterator< _Container > std::front_inserter ( _Container &  __x)
inlineconstexpr
Parameters
__xA 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 760 of file bits/stl_iterator.h.

◆ inserter()

template<typename _Container , typename _Iterator >
insert_iterator< _Container > std::inserter ( _Container &  __x,
_Iterator  __i 
)
inline
Parameters
__xA container of arbitrary type.
__iAn 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 903 of file bits/stl_iterator.h.

◆ make_move_iterator()

template<typename _Iterator >
constexpr move_iterator< _Iterator > std::make_move_iterator ( _Iterator  __i)
inlineconstexpr

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

◆ make_reverse_iterator()

template<typename _Iterator >
constexpr reverse_iterator< _Iterator > std::make_reverse_iterator ( _Iterator  __i)
inlineconstexpr

Generator function for reverse_iterator.

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

◆ operator!=() [1/7]

template<typename _Iterator , typename _Container >
constexpr bool __gnu_cxx::operator!= ( const __normal_iterator< _Iterator, _Container > &  __lhs,
const __normal_iterator< _Iterator, _Container > &  __rhs 
)
inlineconstexprnoexcept

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

◆ operator!=() [2/7]

template<typename _IteratorL , typename _IteratorR , typename _Container >
constexpr bool __gnu_cxx::operator!= ( const __normal_iterator< _IteratorL, _Container > &  __lhs,
const __normal_iterator< _IteratorR, _Container > &  __rhs 
)
inlineconstexprnoexcept

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

◆ operator!=() [3/7]

template<typename _CharT , typename _Traits >
bool std::operator!= ( const istreambuf_iterator< _CharT, _Traits > &  __a,
const istreambuf_iterator< _CharT, _Traits > &  __b 
)
inline

Definition at line 233 of file streambuf_iterator.h.

◆ operator!=() [4/7]

template<typename _Iterator >
constexpr bool std::operator!= ( const move_iterator< _Iterator > &  __x,
const move_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator!=() [5/7]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator!= ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator!=() [6/7]

template<typename _Iterator >
constexpr bool std::operator!= ( const reverse_iterator< _Iterator > &  __x,
const reverse_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator!=() [7/7]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator!= ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator*() [1/10]

template<typename _Container >
constexpr back_insert_iterator & std::back_insert_iterator< _Container >::operator* ( )
inlineconstexpr

Simply returns *this.

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

◆ operator*() [2/10]

template<typename _Container >
constexpr front_insert_iterator & std::front_insert_iterator< _Container >::operator* ( )
inlineconstexpr

Simply returns *this.

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

◆ operator*() [3/10]

template<typename _Container >
constexpr insert_iterator & std::insert_iterator< _Container >::operator* ( )
inlineconstexpr

Simply returns *this.

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

◆ operator*() [4/10]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>>
ostream_iterator & std::ostream_iterator< _Tp, _CharT, _Traits >::operator* ( )
inline

Definition at line 240 of file stream_iterator.h.

◆ operator*() [5/10]

template<typename _CharT , typename _Traits >
ostreambuf_iterator & std::ostreambuf_iterator< _CharT, _Traits >::operator* ( )
inline

Return *this.

Definition at line 293 of file streambuf_iterator.h.

◆ operator*() [6/10]

template<typename _Iterator >
constexpr reference std::reverse_iterator< _Iterator >::operator* ( ) const
inlineconstexpr
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 204 of file bits/stl_iterator.h.

◆ operator*() [7/10]

template<typename _Iterator >
constexpr reference std::move_iterator< _Iterator >::operator* ( ) const
inlineconstexpr

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

◆ operator*() [8/10]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
const _Tp & std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator* ( ) const
inline

Definition at line 93 of file stream_iterator.h.

◆ operator*() [9/10]

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 146 of file streambuf_iterator.h.

◆ operator*() [10/10]

template<typename _Iterator , typename _Container >
constexpr reference __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator* ( ) const
inlineconstexprnoexcept

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

◆ operator+() [1/6]

template<typename _Iterator >
constexpr reverse_iterator std::reverse_iterator< _Iterator >::operator+ ( difference_type  __n) const
inlineconstexpr
Returns
A reverse_iterator that refers to current - __n

The underlying iterator must be a Random Access Iterator.

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

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

◆ operator+() [2/6]

template<typename _Iterator >
constexpr move_iterator std::move_iterator< _Iterator >::operator+ ( difference_type  __n) const
inlineconstexpr

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

◆ operator+() [3/6]

template<typename _Iterator , typename _Container >
constexpr __normal_iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator+ ( difference_type  __n) const
inlineconstexprnoexcept

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

◆ operator+() [4/6]

template<typename _Iterator , typename _Container >
constexpr __normal_iterator< _Iterator, _Container > __gnu_cxx::operator+ ( typename __normal_iterator< _Iterator, _Container >::difference_type  __n,
const __normal_iterator< _Iterator, _Container > &  __i 
)
inlineconstexprnoexcept

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

◆ operator+() [5/6]

template<typename _Iterator >
constexpr move_iterator< _Iterator > std::operator+ ( typename move_iterator< _Iterator >::difference_type  __n,
const move_iterator< _Iterator > &  __x 
)
inlineconstexpr

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

◆ operator+() [6/6]

template<typename _Iterator >
constexpr reverse_iterator< _Iterator > std::operator+ ( typename reverse_iterator< _Iterator >::difference_type  __n,
const reverse_iterator< _Iterator > &  __x 
)
inlineconstexpr

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

◆ operator++() [1/20]

template<typename _Iterator >
constexpr reverse_iterator & std::reverse_iterator< _Iterator >::operator++ ( )
inlineconstexpr
Returns
*this

Decrements the underlying iterator.

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

◆ operator++() [2/20]

template<typename _Container >
constexpr back_insert_iterator & std::back_insert_iterator< _Container >::operator++ ( )
inlineconstexpr

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

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

◆ operator++() [3/20]

template<typename _Container >
constexpr front_insert_iterator & std::front_insert_iterator< _Container >::operator++ ( )
inlineconstexpr

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

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

◆ operator++() [4/20]

template<typename _Container >
constexpr insert_iterator & std::insert_iterator< _Container >::operator++ ( )
inlineconstexpr

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

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

◆ operator++() [5/20]

template<typename _Iterator >
constexpr move_iterator & std::move_iterator< _Iterator >::operator++ ( )
inlineconstexpr

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

◆ operator++() [6/20]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
istream_iterator & std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator++ ( )
inline

Definition at line 105 of file stream_iterator.h.

◆ operator++() [7/20]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>>
ostream_iterator & std::ostream_iterator< _Tp, _CharT, _Traits >::operator++ ( )
inline

Definition at line 244 of file stream_iterator.h.

◆ operator++() [8/20]

template<typename _CharT , typename _Traits >
istreambuf_iterator & std::istreambuf_iterator< _CharT, _Traits >::operator++ ( )
inline

Advance the iterator. Calls streambuf.sbumpc().

Definition at line 162 of file streambuf_iterator.h.

◆ operator++() [9/20]

template<typename _CharT , typename _Traits >
ostreambuf_iterator & std::ostreambuf_iterator< _CharT, _Traits >::operator++ ( )
inline

Return *this.

Definition at line 303 of file streambuf_iterator.h.

◆ operator++() [10/20]

template<typename _Iterator , typename _Container >
constexpr __normal_iterator & __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator++ ( )
inlineconstexprnoexcept

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

◆ operator++() [11/20]

template<typename _Iterator >
constexpr reverse_iterator std::reverse_iterator< _Iterator >::operator++ ( int  )
inlineconstexpr
Returns
The original value of *this

Decrements the underlying iterator.

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

◆ operator++() [12/20]

template<typename _Container >
constexpr back_insert_iterator std::back_insert_iterator< _Container >::operator++ ( int  )
inlineconstexpr

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

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

◆ operator++() [13/20]

template<typename _Container >
constexpr front_insert_iterator std::front_insert_iterator< _Container >::operator++ ( int  )
inlineconstexpr

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

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

◆ operator++() [14/20]

template<typename _Container >
constexpr insert_iterator & std::insert_iterator< _Container >::operator++ ( int  )
inlineconstexpr

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

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

◆ operator++() [15/20]

template<typename _Iterator >
constexpr move_iterator std::move_iterator< _Iterator >::operator++ ( int  )
inlineconstexpr

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

◆ operator++() [16/20]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
istream_iterator std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator++ ( int  )
inline

Definition at line 115 of file stream_iterator.h.

◆ operator++() [17/20]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>>
ostream_iterator & std::ostream_iterator< _Tp, _CharT, _Traits >::operator++ ( int  )
inline

Definition at line 248 of file stream_iterator.h.

◆ operator++() [18/20]

template<typename _CharT , typename _Traits >
istreambuf_iterator std::istreambuf_iterator< _CharT, _Traits >::operator++ ( int  )
inline

Advance the iterator. Calls streambuf.sbumpc().

Definition at line 176 of file streambuf_iterator.h.

◆ operator++() [19/20]

template<typename _CharT , typename _Traits >
ostreambuf_iterator & std::ostreambuf_iterator< _CharT, _Traits >::operator++ ( int  )
inline

Return *this.

Definition at line 298 of file streambuf_iterator.h.

◆ operator++() [20/20]

template<typename _Iterator , typename _Container >
constexpr __normal_iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator++ ( int  )
inlineconstexprnoexcept

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

◆ operator+=() [1/3]

template<typename _Iterator >
constexpr reverse_iterator & std::reverse_iterator< _Iterator >::operator+= ( difference_type  __n)
inlineconstexpr
Returns
*this

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

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

◆ operator+=() [2/3]

template<typename _Iterator >
constexpr move_iterator & std::move_iterator< _Iterator >::operator+= ( difference_type  __n)
inlineconstexpr

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

◆ operator+=() [3/3]

template<typename _Iterator , typename _Container >
constexpr __normal_iterator & __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator+= ( difference_type  __n)
inlineconstexprnoexcept

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

◆ operator-() [1/7]

template<typename _Iterator , typename _Container >
constexpr __normal_iterator< _Iterator, _Container >::difference_type __gnu_cxx::operator- ( const __normal_iterator< _Iterator, _Container > &  __lhs,
const __normal_iterator< _Iterator, _Container > &  __rhs 
)
inlineconstexprnoexcept

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

◆ operator-() [2/7]

template<typename _IteratorL , typename _IteratorR , typename _Container >
constexpr auto __gnu_cxx::operator- ( const __normal_iterator< _IteratorL, _Container > &  __lhs,
const __normal_iterator< _IteratorR, _Container > &  __rhs 
) -> decltype(__lhs.base() - __rhs.base())
inlineconstexprnoexcept

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

◆ operator-() [3/7]

template<typename _IteratorL , typename _IteratorR >
constexpr auto std::operator- ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
) -> decltype(__x.base() - __y.base())
inlineconstexpr

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

◆ operator-() [4/7]

template<typename _IteratorL , typename _IteratorR >
constexpr auto std::operator- ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
) -> decltype(__y.base() - __x.base())
inlineconstexpr

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

◆ operator-() [5/7]

template<typename _Iterator >
constexpr reverse_iterator std::reverse_iterator< _Iterator >::operator- ( difference_type  __n) const
inlineconstexpr
Returns
A reverse_iterator that refers to current - __n

The underlying iterator must be a Random Access Iterator.

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

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

◆ operator-() [6/7]

template<typename _Iterator >
constexpr move_iterator std::move_iterator< _Iterator >::operator- ( difference_type  __n) const
inlineconstexpr

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

◆ operator-() [7/7]

template<typename _Iterator , typename _Container >
constexpr __normal_iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator- ( difference_type  __n) const
inlineconstexprnoexcept

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

◆ operator--() [1/6]

template<typename _Iterator >
constexpr reverse_iterator & std::reverse_iterator< _Iterator >::operator-- ( )
inlineconstexpr
Returns
*this

Increments the underlying iterator.

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

◆ operator--() [2/6]

template<typename _Iterator >
constexpr move_iterator & std::move_iterator< _Iterator >::operator-- ( )
inlineconstexpr

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

◆ operator--() [3/6]

template<typename _Iterator , typename _Container >
constexpr __normal_iterator & __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-- ( )
inlineconstexprnoexcept

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

◆ operator--() [4/6]

template<typename _Iterator >
constexpr reverse_iterator std::reverse_iterator< _Iterator >::operator-- ( int  )
inlineconstexpr
Returns
A reverse_iterator with the previous value of *this

Increments the underlying iterator.

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

◆ operator--() [5/6]

template<typename _Iterator >
constexpr move_iterator std::move_iterator< _Iterator >::operator-- ( int  )
inlineconstexpr

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

◆ operator--() [6/6]

template<typename _Iterator , typename _Container >
constexpr __normal_iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-- ( int  )
inlineconstexprnoexcept

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

◆ operator-=() [1/3]

template<typename _Iterator >
constexpr reverse_iterator & std::reverse_iterator< _Iterator >::operator-= ( difference_type  __n)
inlineconstexpr
Returns
*this

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

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

◆ operator-=() [2/3]

template<typename _Iterator >
constexpr move_iterator & std::move_iterator< _Iterator >::operator-= ( difference_type  __n)
inlineconstexpr

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

◆ operator-=() [3/3]

template<typename _Iterator , typename _Container >
constexpr __normal_iterator & __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-= ( difference_type  __n)
inlineconstexprnoexcept

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

◆ operator->() [1/4]

template<typename _Iterator >
constexpr pointer std::reverse_iterator< _Iterator >::operator-> ( ) const
inlineconstexpr
Returns
A pointer to the value at --current

This requires that --current is dereferenceable.

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

◆ operator->() [2/4]

template<typename _Iterator >
constexpr pointer std::move_iterator< _Iterator >::operator-> ( ) const
inlineconstexpr

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

◆ operator->() [3/4]

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
const _Tp * std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::operator-> ( ) const
inline

Definition at line 102 of file stream_iterator.h.

◆ operator->() [4/4]

template<typename _Iterator , typename _Container >
constexpr pointer __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator-> ( ) const
inlineconstexprnoexcept

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

◆ operator<() [1/6]

template<typename _Iterator , typename _Container >
constexpr bool __gnu_cxx::operator< ( const __normal_iterator< _Iterator, _Container > &  __lhs,
const __normal_iterator< _Iterator, _Container > &  __rhs 
)
inlineconstexprnoexcept

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

◆ operator<() [2/6]

template<typename _IteratorL , typename _IteratorR , typename _Container >
bool __gnu_cxx::operator< ( const __normal_iterator< _IteratorL, _Container > &  __lhs,
const __normal_iterator< _IteratorR, _Container > &  __rhs 
)
inlinenoexcept

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

◆ operator<() [3/6]

template<typename _Iterator >
constexpr bool std::operator< ( const move_iterator< _Iterator > &  __x,
const move_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator<() [4/6]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator< ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator<() [5/6]

template<typename _Iterator >
constexpr bool std::operator< ( const reverse_iterator< _Iterator > &  __x,
const reverse_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator<() [6/6]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator< ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator<=() [1/6]

template<typename _Iterator , typename _Container >
constexpr bool __gnu_cxx::operator<= ( const __normal_iterator< _Iterator, _Container > &  __lhs,
const __normal_iterator< _Iterator, _Container > &  __rhs 
)
inlineconstexprnoexcept

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

◆ operator<=() [2/6]

template<typename _IteratorL , typename _IteratorR , typename _Container >
bool __gnu_cxx::operator<= ( const __normal_iterator< _IteratorL, _Container > &  __lhs,
const __normal_iterator< _IteratorR, _Container > &  __rhs 
)
inlinenoexcept

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

◆ operator<=() [3/6]

template<typename _Iterator >
constexpr bool std::operator<= ( const move_iterator< _Iterator > &  __x,
const move_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator<=() [4/6]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator<= ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator<=() [5/6]

template<typename _Iterator >
constexpr bool std::operator<= ( const reverse_iterator< _Iterator > &  __x,
const reverse_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator<=() [6/6]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator<= ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator=() [1/8]

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 283 of file streambuf_iterator.h.

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

◆ operator=() [2/8]

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 228 of file stream_iterator.h.

◆ operator=() [3/8]

template<typename _Container >
constexpr back_insert_iterator & std::back_insert_iterator< _Container >::operator= ( const typename _Container::value_type &  __value)
inlineconstexpr
Parameters
__valueAn 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 609 of file bits/stl_iterator.h.

◆ operator=() [4/8]

template<typename _Container >
constexpr front_insert_iterator & std::front_insert_iterator< _Container >::operator= ( const typename _Container::value_type &  __value)
inlineconstexpr
Parameters
__valueAn 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 712 of file bits/stl_iterator.h.

◆ operator=() [5/8]

template<typename _Container >
constexpr insert_iterator & std::insert_iterator< _Container >::operator= ( const typename _Container::value_type &  __value)
inlineconstexpr
Parameters
__valueAn 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
Turns assignment into insertion.

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

◆ operator=() [6/8]

template<typename _Container >
constexpr back_insert_iterator & std::back_insert_iterator< _Container >::operator= ( typename _Container::value_type &&  __value)
inlineconstexpr

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

◆ operator=() [7/8]

template<typename _Container >
constexpr front_insert_iterator & std::front_insert_iterator< _Container >::operator= ( typename _Container::value_type &&  __value)
inlineconstexpr

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

◆ operator=() [8/8]

template<typename _Container >
constexpr insert_iterator & std::insert_iterator< _Container >::operator= ( typename _Container::value_type &&  __value)
inlineconstexpr

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

◆ operator==() [1/7]

template<typename _Iterator , typename _Container >
constexpr bool __gnu_cxx::operator== ( const __normal_iterator< _Iterator, _Container > &  __lhs,
const __normal_iterator< _Iterator, _Container > &  __rhs 
)
inlineconstexprnoexcept

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

◆ operator==() [2/7]

template<typename _IteratorL , typename _IteratorR , typename _Container >
constexpr bool __gnu_cxx::operator== ( const __normal_iterator< _IteratorL, _Container > &  __lhs,
const __normal_iterator< _IteratorR, _Container > &  __rhs 
)
inlineconstexprnoexcept

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

◆ operator==() [3/7]

template<typename _CharT , typename _Traits >
bool std::operator== ( const istreambuf_iterator< _CharT, _Traits > &  __a,
const istreambuf_iterator< _CharT, _Traits > &  __b 
)
inline

Definition at line 227 of file streambuf_iterator.h.

◆ operator==() [4/7]

template<typename _Iterator >
constexpr bool std::operator== ( const move_iterator< _Iterator > &  __x,
const move_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator==() [5/7]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator== ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator==() [6/7]

template<typename _Iterator >
constexpr bool std::operator== ( const reverse_iterator< _Iterator > &  __x,
const reverse_iterator< _Iterator > &  __y 
)
inlineconstexpr
Parameters
__xA reverse_iterator.
__yA reverse_iterator.
Returns
A simple bool.

Reverse iterators forward comparisons to their underlying base() iterators.

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

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

◆ operator==() [7/7]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator== ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator>() [1/6]

template<typename _Iterator , typename _Container >
constexpr bool __gnu_cxx::operator> ( const __normal_iterator< _Iterator, _Container > &  __lhs,
const __normal_iterator< _Iterator, _Container > &  __rhs 
)
inlineconstexprnoexcept

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

◆ operator>() [2/6]

template<typename _IteratorL , typename _IteratorR , typename _Container >
bool __gnu_cxx::operator> ( const __normal_iterator< _IteratorL, _Container > &  __lhs,
const __normal_iterator< _IteratorR, _Container > &  __rhs 
)
inlinenoexcept

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

◆ operator>() [3/6]

template<typename _Iterator >
constexpr bool std::operator> ( const move_iterator< _Iterator > &  __x,
const move_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator>() [4/6]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator> ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator>() [5/6]

template<typename _Iterator >
constexpr bool std::operator> ( const reverse_iterator< _Iterator > &  __x,
const reverse_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator>() [6/6]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator> ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator>=() [1/6]

template<typename _Iterator , typename _Container >
constexpr bool __gnu_cxx::operator>= ( const __normal_iterator< _Iterator, _Container > &  __lhs,
const __normal_iterator< _Iterator, _Container > &  __rhs 
)
inlineconstexprnoexcept

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

◆ operator>=() [2/6]

template<typename _IteratorL , typename _IteratorR , typename _Container >
bool __gnu_cxx::operator>= ( const __normal_iterator< _IteratorL, _Container > &  __lhs,
const __normal_iterator< _IteratorR, _Container > &  __rhs 
)
inlinenoexcept

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

◆ operator>=() [3/6]

template<typename _Iterator >
constexpr bool std::operator>= ( const move_iterator< _Iterator > &  __x,
const move_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator>=() [4/6]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator>= ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator>=() [5/6]

template<typename _Iterator >
constexpr bool std::operator>= ( const reverse_iterator< _Iterator > &  __x,
const reverse_iterator< _Iterator > &  __y 
)
inlineconstexpr

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

◆ operator>=() [6/6]

template<typename _IteratorL , typename _IteratorR >
constexpr bool std::operator>= ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator[]() [1/3]

template<typename _Iterator >
constexpr reference std::reverse_iterator< _Iterator >::operator[] ( difference_type  __n) const
inlineconstexpr
Returns
The value at current - __n - 1

The underlying iterator must be a Random Access Iterator.

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

◆ operator[]() [2/3]

template<typename _Iterator >
constexpr reference std::move_iterator< _Iterator >::operator[] ( difference_type  __n) const
inlineconstexpr

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

◆ operator[]() [3/3]

template<typename _Iterator , typename _Container >
constexpr reference __gnu_cxx::__normal_iterator< _Iterator, _Container >::operator[] ( difference_type  __n) const
inlineconstexprnoexcept

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

Variable Documentation

◆ _M_current

template<typename _Iterator , typename _Container >
_Iterator __gnu_cxx::__normal_iterator< _Iterator, _Container >::_M_current
protected

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

◆ container [1/3]

template<typename _Container >
_Container* std::back_insert_iterator< _Container >::container
protected

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

◆ container [2/3]

template<typename _Container >
_Container* std::front_insert_iterator< _Container >::container
protected

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

◆ container [3/3]

template<typename _Container >
_Container* std::insert_iterator< _Container >::container
protected

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

◆ current

template<typename _Iterator >
_Iterator std::reverse_iterator< _Iterator >::current
protected

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

◆ iter

template<typename _Container >
_Iter std::insert_iterator< _Container >::iter
protected

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

Friends

◆ operator!=

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
bool operator!= ( const istream_iterator< _Tp, _CharT, _Traits, _Dist > &  __x,
const istream_iterator< _Tp, _CharT, _Traits, _Dist > &  __y 
)
friend

Return true if the iterators refer to different streams, or if one is at end-of-stream and the other is not.

Definition at line 153 of file stream_iterator.h.

◆ operator==

template<typename _Tp , typename _CharT = char, typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
bool operator== ( const istream_iterator< _Tp, _CharT, _Traits, _Dist > &  __x,
const istream_iterator< _Tp, _CharT, _Traits, _Dist > &  __y 
)
friend

Return true if the iterators refer to the same stream, or are both at end-of-stream.

Definition at line 147 of file stream_iterator.h.