Namespaces
Variants

std::ranges::enumerate_view<V>::iterator<Const>::iterator

С ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
 
/*iterator*/()
    requires std::default_initializable<ranges::iterator_t<Base>> = default;
(1) (начиная с C++23)
constexpr /*iterator*/( /*iterator*/<!Const> i )
    requires Const &&
        std::convertible_to<ranges::iterator_t<V>, ranges::iterator_t<Base>>;
(2) (начиная с C++23)
private:
constexpr explicit /*iterator*/( ranges::iterator_t<Base> current,
                                 difference_type pos);
(3) (только для описания*)

Создает итератор.

1) Конструктор по умолчанию. Инициализирует значением базовый итератор current_ с помощью ranges::iterator_t<Base>() и базовый индекс pos_ с помощью 0.
2) Преобразование из /*iterator*/<false> в /*iterator*/<true>. Инициализирует current_ с помощью std::move(i.current_) и pos_ с помощью i.pos_.
3) Закрытый конструктор, который используется enumerate_view::begin и enumerate_view::end. Этот конструктор недоступен пользователям. Инициализирует current_ с помощью std::move(current) и pos_ с помощью pos.

Параметры

i - an /*iterator*/ < false >

Пример