Spec-Zone.ru › C++

operator==(std::counted_iterator<I>, std::default_sentinel_t)

friend constexpr bool operator==(
    const counted_iterator& x, std::default_sentinel_t );
(начиная с C++20)

Проверяет, равна ли базовая длина (т. е. расстояние до конца) значению 0.

Этот шаблон функции не виден при обычном неквалифицированном или квалифицированном поиске и может быть найден только с помощью поиска, зависящего от аргументов, если std::counted_iterator<I> является ассоциированным классом аргументов.

Оператор != синтезируется из operator==.

Параметры

x - адаптер итератора

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

true, если x.count() равен 0, и false в противном случае.

Пример

#include <initializer_list>
#include <iterator>

int main()
{
    static constexpr auto v = {1, 2, 3, 4};
    constexpr std::counted_iterator<std::initializer_list<int>::iterator>
        it1{v.begin(), 3},
        it2{v.begin(), 0};
    static_assert(it1 != std::default_sentinel);
    static_assert(it2 == std::default_sentinel);
    static_assert(std::default_sentinel != it1);
    static_assert(std::default_sentinel == it2);
}

См. также

operator==operator<=>
(C++20)
сравнивает расстояния до конца
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/iterator/counted_iterator/operator_cmp2

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API