std::ranges::cartesian_product_view<First, Vs...>::iterator<Const>::iterator
С ru.cppreference.net
/*iterator*/() = default;
|
(1) | (начиная с C++23) |
constexpr /*iterator*/( /*iterator*/<!Const> i )
requires Const && (
std::convertible_to<ranges::iterator_t<First>, ranges::iterator_t<const First>>
&& ... &&
std::convertible_to<ranges::iterator_t<Vs>, ranges::iterator_t<const Vs>>
);
|
(2) | (начиная с C++23) |
private:
constexpr /*iterator*/(
/*Parent*/& parent,
std::tuple<ranges::iterator_t</*maybe-const*/<Const, First>>,
ranges::iterator_t</*maybe-const*/<Const, Vs>>...> current );
|
(3) | (только для пояснения*) |
Создаёт итератор.
1) Конструктор по умолчанию. Инициализирует значением
parent_ с помощью nullptr и инициализирует по умолчанию current_.2) Преобразование из
/*iterator*/<false> в /*iterator*/<true>. Инициализирует parent_ с помощью i.parent_ и current_ с помощью std::move(i.current_).3) Закрытый конструктор, используемый cartesian_product_view::begin и cartesian_product_view::end. Этот конструктор недоступен пользователям.
Инициализирует
parent_ с помощью std::addressof(parent) и current_ с помощью std::move(current).Параметры
| i | - | an /*iterator*/ < false > |
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |