libstdc++
Iterators
Collaboration diagram for Iterators:

Modules

 Iterator Tags
 

Namespaces

namespace  std::__detail
 

Classes

class  std::back_insert_iterator< _Container >
 
class  std::common_iterator< _It, _Sent >
 
class  std::counted_iterator< _It >
 
class  std::front_insert_iterator< _Container >
 
struct  std::input_iterator_tag
 
class  std::insert_iterator< _Container >
 
class  std::istream_iterator< _Tp, _CharT, _Traits, _Dist >
 
class  std::istreambuf_iterator< _CharT, _Traits >
 
struct  std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >
 
struct  std::iterator_traits< _Iterator >
 
struct  std::iterator_traits< _Tp * >
 
class  std::move_iterator< _Iterator >
 
class  std::ostream_iterator< _Tp, _CharT, _Traits >
 
class  std::ostreambuf_iterator< _CharT, _Traits >
 
class  std::reverse_iterator< _Iterator >
 

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<bool>; }
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<bool>; }
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<bool>; }
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<bool>; }
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<bool>; }
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<bool>; }
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<bool>; }
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<bool>; }
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<bool>; }
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<bool>; }
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<bool>; }
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<bool>; }
constexpr bool std::operator>= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
 

Variables

template<typename _Iterator1 , typename _Iterator2 >
constexpr bool std::disable_sized_sentinel_for< reverse_iterator< _Iterator1 >, reverse_iterator< _Iterator2 > >
 

Detailed Description

Abstractions for uniform iterating through various underlying types.

Function Documentation

◆ __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 356 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 368 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 380 of file streambuf_iterator.h.

◆ __copy_n_a()

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 
)

Definition at line 415 of file streambuf_iterator.h.

◆ __iterator_category()

◆ __make_move_if_noexcept_iterator() [1/2]

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

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

◆ __make_move_if_noexcept_iterator() [2/2]

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

Definition at line 1821 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 635 of file bits/stl_iterator.h.

◆ __miter_base()

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

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

◆ __niter_base()

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

Definition at line 660 of file bits/stl_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 475 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 776 of file bits/stl_iterator.h.

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

◆ 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 339 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 435 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 877 of file bits/stl_iterator.h.

◆ inserter()

template<typename _Container >
constexpr insert_iterator< _Container > std::inserter ( _Container &  __x,
std::__detail::__range_iter_t< _Container >  __i 
)
constexpr
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 1011 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 1804 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 645 of file bits/stl_iterator.h.

◆ operator!=()

template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() != __y.base() } -> convertible_to<bool>; }
constexpr bool std::operator!= ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
constexpr

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

◆ operator+() [1/2]

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 1797 of file bits/stl_iterator.h.

◆ operator+() [2/2]

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 627 of file bits/stl_iterator.h.

◆ operator-() [1/2]

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 1789 of file bits/stl_iterator.h.

◆ operator-() [2/2]

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 618 of file bits/stl_iterator.h.

◆ operator<() [1/2]

template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() < __y.base() } -> convertible_to<bool>; }
constexpr bool std::operator< ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator<() [2/2]

template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() > __y.base() } -> convertible_to<bool>; }
constexpr bool std::operator< ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
constexpr

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

◆ operator<=() [1/2]

template<typename _IteratorL , typename _IteratorR >
requires requires { { __y.base() < __x.base() } -> convertible_to<bool>; }
constexpr bool std::operator<= ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator<=() [2/2]

template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() >= __y.base() } -> convertible_to<bool>; }
constexpr bool std::operator<= ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
constexpr

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

◆ operator<=>() [1/4]

template<three_way_comparable _Iterator>
constexpr compare_three_way_result_t< _Iterator > std::operator<=> ( const move_iterator< _Iterator > &  __x,
const move_iterator< _Iterator > &  __y 
)
constexpr

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

◆ operator<=>() [2/4]

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 
)
constexpr

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

◆ operator<=>() [3/4]

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 
)
constexpr

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

◆ operator<=>() [4/4]

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 
)
constexpr

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

◆ operator==() [1/5]

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

Definition at line 234 of file streambuf_iterator.h.

◆ operator==() [2/5]

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

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

◆ operator==() [3/5]

template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() == __y.base() } -> convertible_to<bool>; }
constexpr bool std::operator== ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator==() [4/5]

template<typename _Iterator >
requires requires { { __x.base() == __y.base() } -> convertible_to<bool>; }
constexpr bool std::operator== ( const reverse_iterator< _Iterator > &  __x,
const reverse_iterator< _Iterator > &  __y 
)
constexpr

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

◆ operator==() [5/5]

template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() == __y.base() } -> convertible_to<bool>; }
constexpr bool std::operator== ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
constexpr
Parameters
__xA reverse_iterator.
__yA reverse_iterator.
Returns
A simple bool.

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

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

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

◆ operator>() [1/2]

template<typename _IteratorL , typename _IteratorR >
requires requires { { __y.base() < __x.base() } -> convertible_to<bool>; }
constexpr bool std::operator> ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator>() [2/2]

template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() < __y.base() } -> convertible_to<bool>; }
constexpr bool std::operator> ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
constexpr

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

◆ operator>=() [1/2]

template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() < __y.base() } -> convertible_to<bool>; }
constexpr bool std::operator>= ( const move_iterator< _IteratorL > &  __x,
const move_iterator< _IteratorR > &  __y 
)
inlineconstexpr

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

◆ operator>=() [2/2]

template<typename _IteratorL , typename _IteratorR >
requires requires { { __x.base() <= __y.base() } -> convertible_to<bool>; }
constexpr bool std::operator>= ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
)
constexpr

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

Variable Documentation

◆ disable_sized_sentinel_for< reverse_iterator< _Iterator1 >, reverse_iterator< _Iterator2 > >

template<typename _Iterator1 , typename _Iterator2 >
constexpr bool std::disable_sized_sentinel_for< reverse_iterator< _Iterator1 >, reverse_iterator< _Iterator2 > >
inlineconstexpr

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