std::ranges::cartesian_product_view<First, Vs...>::iterator
С ru.cppreference.net
template< bool Const >
class /*iterator*/
|
(начиная с C++23) (только для пояснения*) |
|
Тип возврата cartesian_product_view::begin, и cartesian_product_view::end когда базовое представление V является common_range.
Тип /*iterator*/<true> возвращается перегрузками с квалификатором const. Тип /*iterator*/<false> возвращается перегрузками без квалификатора const.
Типы-члены
| Член | Определение |
Parent (закрытый)
|
maybe-const <Const, ranges::cartesian_product_view>>(тип-член, предназначенный только для демонстрации*) |
iterator_category
|
std::input_iterator_tag
|
iterator_concept
|
|
value_type
|
std::tuple<ranges::range_value_t</*maybe-const*/<Const, First>>,
ranges::range_value_t</*maybe-const*/<Const, Vs>>...>;
|
reference
|
std::tuple<ranges::range_reference_t</*maybe-const*/<Const, First>>,
ranges::range_reference_t</*maybe-const*/<Const, Vs>>...>;
|
difference_type
|
наименьший signed-integer-like тип (если таковой имеется), который достаточно широк для хранения произведения максимальных размеров всех базовых диапазонов
|
Элементы данных
| Член | Описание |
Parent* parent_ (закрытый)
|
указатель на родительский объект cartesian_product_view(exposition-only member object*) |
std::tuple<ranges::iterator_t</*maybe-const*/<Const, First>>,
|
кортеж итераторов на текущие базовые элементы (exposition-only member object*) |
Функции-члены
|
создает итератор
(публичная функция-член) |
|
|
обращается к элементу
(публичная функция-член) |
|
|
обращается к элементу по индексу
(публичная функция-член) |
|
|
продвигает или уменьшает базовый итератор
(публичная функция-член) |
|
|
продвигает итератор
( функция-член только для демонстрации* ) |
|
|
уменьшает итератор
( функция-член только для демонстрации* ) |
|
|
возвращает расстояние между двумя итераторами
( функция-член только для демонстрации* ) |
Функции, не являющиеся членами класса
|
(C++23)
|
сравнивает базовые итераторы
(функция) |
|
(C++23)
|
выполняет арифметические операции с итераторами
(функция) |
|
(C++23)
|
преобразует результат разыменования базового итератора в соответствующую rvalue ссылку
(функция) |
|
(C++23)
|
обменивает базовые элементы, на которые указывают итераторы
(функция) |
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Ссылки
- Стандарт C++23 (ISO/IEC 14882:2024):
-
-
26.7.32.3 Шаблон класса
cartesian_product_view::iterator[range.cartesian.iterator]
-
26.7.32.3 Шаблон класса