Spec-Zone.ru › C++

std::counted_iterator<I>::count

constexpr std::iter_difference_t<I> count() const noexcept;
(с C++20)

Возвращает базовую длину, являющуюся расстоянием до конца.

Параметры

(нет)

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

Базовая длина.

Пример

#include <cassert>
#include <iostream>
#include <iterator>
 
int main()
{
    constexpr static auto il = {1, 2, 3, 4, 5};
    constexpr std::counted_iterator i1{il.begin() + 1, 3};
    static_assert(i1.count() == 3);
    auto i2{i1};
    for (; std::default_sentinel != i2; ++i2)
        std::cout << "*i2: " << *i2 << ", count(): " << i2.count() << '\n';
    assert(i2.count() == 0);
}

Вывод:

*i2: 2, count(): 3
*i2: 3, count(): 2
*i2: 4, count(): 1

См. также

base
(C++20)
обращается к базовому итератору
(публичный член-функция)

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

Spec-Zone.ru

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