Namespaces
Variants

operator<,<=,>,>= (std::basic_const_iterator<Iter>)

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
template < /*не-константный-итератор*/ I >

friend constexpr bool operator < ( const I & x, const basic_const_iterator & y )

requires std:: random_access_iterator < Iter > && std:: totally_ordered_with < Iter, I > ;
(1) (начиная с C++23)
template < /*не-константный-итератор*/ I >

friend constexpr bool operator > ( const I & x, const basic_const_iterator & y )

requires std:: random_access_iterator < Iter > && std:: totally_ordered_with < Iter, I > ;
(2) (начиная с C++23)
template < /*не-константный-итератор*/ I >

friend constexpr bool operator <= ( const I & x, const basic_const_iterator & y )

requires std:: random_access_iterator < Iter > && std:: totally_ordered_with < Iter, I > ;
(3) (начиная с C++23)
template < /*не-константный-итератор*/ I >

friend constexpr bool operator >= ( const I & x, const basic_const_iterator & y )

requires std:: random_access_iterator < Iter > && std:: totally_ordered_with < Iter, I > ;
(4) (начиная с C++23)

Сравните basic_const_iterator с другим значением. Эти шаблоны функций используются, когда левый операнд не является basic_const_iterator .

I удовлетворяет экспозиционной концепции /*not-a-const-iterator*/ тогда и только тогда, когда он не является специализацией basic_const_iterator .

Эти функции не видны при обычном unqualified или qualified lookup и могут быть найдены только с помощью argument-dependent lookup , когда basic_const_iterator < Iter > является ассоциированным классом аргументов.

Содержание

Параметры

x, y - итераторы для сравнения

Возвращаемое значение

1) x < y. base ( )
2) x > y. base ( )
3) x <= y. base ( )
4) x >= y. base ( )

Примечания

Если левый операнд является basic_const_iterator , используются функции сравнения-члены .

Пример

#include <iterator>
int main()
{
    static int arr[1];
    static constexpr std::basic_const_iterator<int*> it = std::end(arr);
    static_assert(arr < it);
}

Смотрите также