Namespaces
Variants

std::ranges::adjacent_transform_view<V,F,N>::iterator<Const>::iterator

От ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
 
/*iterator*/() = default;
(1) (начиная с C++23)
constexpr /*iterator*/( /*iterator*/<!Const> i )
    requires Const &&
        std::convertible_to</*inner-iterator*/<false>, /*inner-iterator*/<Const>>;
(2) (начиная с C++23)
private:
constexpr /*iterator*/( Parent& parent, /*inner-iterator*/<Const> inner );
(3) (только для пояснения*)

Конструирует итератор.

1) Конструктор по умолчанию. Инициализирует значением базовый указатель parent_ с помощью nullptr, и инициализирует по умолчанию базовый итератор inner_.
2) Преобразование из /*iterator*/<false> в /*iterator*/<true>. Инициализирует базовый указатель parent_ с помощью i.parent_, и конструирует перемещением базовый итератор inner_ с помощью std::move(i.inner_).
3) Этот итератор также имеет закрытый конструктор, который используется ranges::adjacent_transform_view::begin и ranges::adjacent_transform_view::end. Этот конструктор недоступен пользователям. Инициализирует parent_ с помощью std::addressof(parent), и конструирует перемещением inner_ с помощью std::move(inner).

Параметры

i - an /*iterator*/ < false >
parent - an owning object of type adjacent_transform_view
inner - an iterator of type adjacent_transform_view:: inner_iterator

Пример