Iterator functionality.
|
template<typename Cur , typename Cur2 > |
constexpr auto | ranges::operator!= (basic_iterator< Cur > const &left, basic_iterator< Cur2 > const &right) -> bool requires detail::sentinel_for_cursor< Cur2, Cur > |
|
template<typename Cur , typename S > |
constexpr auto | ranges::operator!= (basic_iterator< Cur > const &left, S const &right) -> bool requires detail::sentinel_for_cursor< S, Cur > |
|
template<typename I1 , typename I2 , typename S1 , typename S2 > |
auto | ranges::operator!= (common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y) -> bool requires sentinel_for< S1, I2 > &&sentinel_for< S2, I1 > |
|
template<typename S , typename Cur > |
constexpr auto | ranges::operator!= (S const &left, basic_iterator< Cur > const &right) -> bool requires detail::sentinel_for_cursor< S, Cur > |
|
template<typename Cur > |
constexpr auto | ranges::operator+ (basic_iterator< Cur > left, typename basic_iterator< Cur >::difference_type n) -> basic_iterator< Cur > requires detail::random_access_cursor< Cur > |
|
template<typename Cur > |
constexpr auto | ranges::operator+ (typename basic_iterator< Cur >::difference_type n, basic_iterator< Cur > right) -> basic_iterator< Cur > requires detail::random_access_cursor< Cur > |
|
template<typename Cur , typename S > |
constexpr auto | ranges::operator- (basic_iterator< Cur > const &left, S const &right) -> typename basic_iterator< Cur >::difference_type requires detail::sized_sentinel_for_cursor< S, Cur > |
|
template<typename Cur > |
constexpr auto | ranges::operator- (basic_iterator< Cur > left, typename basic_iterator< Cur >::difference_type n) -> basic_iterator< Cur > requires detail::random_access_cursor< Cur > |
|
template<typename Cur2 , typename Cur > |
constexpr auto | ranges::operator- (basic_iterator< Cur2 > const &left, basic_iterator< Cur > const &right) -> typename basic_iterator< Cur >::difference_type requires detail::sized_sentinel_for_cursor< Cur2, Cur > |
|
template<typename I1 , typename I2 , typename S1 , typename S2 > |
auto | ranges::operator- (common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y) -> iter_difference_t< I2 > requires sized_sentinel_for< I1, I2 > &&sized_sentinel_for< S1, I2 > &&sized_sentinel_for< S2, I1 > |
|
template<typename S , typename Cur > |
constexpr auto | ranges::operator- (S const &left, basic_iterator< Cur > const &right) -> typename basic_iterator< Cur >::difference_type requires detail::sized_sentinel_for_cursor< S, Cur > |
|
template<typename Left , typename Right > |
constexpr auto | ranges::operator< (basic_iterator< Left > const &left, basic_iterator< Right > const &right) -> bool requires detail::sized_sentinel_for_cursor< Right, Left > |
|
template<typename Left , typename Right > |
constexpr auto | ranges::operator<= (basic_iterator< Left > const &left, basic_iterator< Right > const &right) -> bool requires detail::sized_sentinel_for_cursor< Right, Left > |
|
template<typename Cur , typename Cur2 > |
constexpr auto | ranges::operator== (basic_iterator< Cur > const &left, basic_iterator< Cur2 > const &right) -> bool requires detail::sentinel_for_cursor< Cur2, Cur > |
|
template<typename Cur , typename S > |
constexpr auto | ranges::operator== (basic_iterator< Cur > const &left, S const &right) -> bool requires detail::sentinel_for_cursor< S, Cur > |
|
template<typename I1 , typename I2 , typename S1 , typename S2 > |
auto | ranges::operator== (common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y) -> bool requires sentinel_for< S1, I2 > &&sentinel_for< S2, I1 > &&(!equality_comparable_with< I1, I2 >) |
|
template<typename S , typename Cur > |
constexpr auto | ranges::operator== (S const &left, basic_iterator< Cur > const &right) -> bool requires detail::sentinel_for_cursor< S, Cur > |
|
template<typename Left , typename Right > |
constexpr auto | ranges::operator> (basic_iterator< Left > const &left, basic_iterator< Right > const &right) -> bool requires detail::sized_sentinel_for_cursor< Right, Left > |
|
template<typename Left , typename Right > |
constexpr auto | ranges::operator>= (basic_iterator< Left > const &left, basic_iterator< Right > const &right) -> bool requires detail::sized_sentinel_for_cursor< Right, Left > |
|