libstdc++: Iterators (original) (raw)
Functions
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 >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, _CharT * >::__type
std::__copy_n_a (istreambuf_iterator< _CharT > __it, _Size __n, _CharT *__result, bool __strict)
template<typename _Iter >
constexpr iterator_traits< _Iter >::iterator_category
std::__iterator_category (const _Iter &)
template<typename _Iterator , typename _ReturnType = __conditional_t<__move_if_noexcept_cond <typename iterator_traits<_Iterator>::value_type>::value, _Iterator, move_iterator<_Iterator>>>
constexpr _ReturnType
std::__make_move_if_noexcept_iterator (_Iterator __i)
template<typename _Tp , typename _ReturnType = __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp*, move_iterator<_Tp*>>>
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 >
constexpr auto
std::__miter_base (reverse_iterator< _Iterator > __it) -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
template<typename _Iterator >
constexpr auto
std::__niter_base (reverse_iterator< _Iterator > __it) -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
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)
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)
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 >
constexpr insert_iterator< _Container >
std::inserter (_Container &__x, std::__detail::__range_iter_t< _Container > __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 _IteratorL , typename _IteratorR >
requires requires { { __x.base() != __y.base() } -> convertible_to; }
constexpr bool
std::operator!= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
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)
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())
template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() < __y.base() } -> convertible_to; }
constexpr bool
std::operator< (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() > __y.base() } -> convertible_to; }
constexpr bool
std::operator< (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _IteratorL , typename _IteratorR >
requires requires { { __y.base() < __x.base() } -> convertible_to; }
constexpr bool
std::operator<= (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() >= __y.base() } -> convertible_to; }
constexpr bool
std::operator<= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<three_way_comparable _Iterator>
constexpr compare_three_way_result_t< _Iterator >
std::operator<=> (const move_iterator< _Iterator > &__x, const move_iterator< _Iterator > &__y)
template<typename _IteratorL , three_way_comparable_with< _IteratorL > _IteratorR>
constexpr compare_three_way_result_t< _IteratorL, _IteratorR >
std::operator<=> (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<three_way_comparable _Iterator>
constexpr compare_three_way_result_t< _Iterator, _Iterator >
std::operator<=> (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
template<typename _IteratorL , three_way_comparable_with< _IteratorL > _IteratorR>
constexpr compare_three_way_result_t< _IteratorL, _IteratorR >
std::operator<=> (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
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 >
requires requires { { __x.base() == __y.base() } -> convertible_to; }
constexpr bool
std::operator== (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _Iterator >
requires requires { { __x.base() == __y.base() } -> convertible_to; }
constexpr bool
std::operator== (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y)
template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() == __y.base() } -> convertible_to; }
constexpr bool
std::operator== (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _IteratorL , typename _IteratorR >
requires requires { { __y.base() < __x.base() } -> convertible_to; }
constexpr bool
std::operator> (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() < __y.base() } -> convertible_to; }
constexpr bool
std::operator> (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() < __y.base() } -> convertible_to; }
constexpr bool
std::operator>= (const move_iterator< _IteratorL > &__x, const move_iterator< _IteratorR > &__y)
template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() <= __y.base() } -> convertible_to; }
constexpr bool
std::operator>= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
Abstractions for uniform iterating through various underlying types.
template<typename _Container >
template<typename _Container >
constexpr insert_iterator< _Container > std::inserter ( _Container & __x, std::__detail::__range_iter_t< _Container > __i ) | constexpr |
---|
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 1011 of file bits/stl_iterator.h.