std::ranges::cartesian_product_view<First, Vs...>::iterator
template< bool Const > class /*iterator*/ | (с C++23) (только для примера*) |
Тип результата cartesian_product_view::begin, и cartesian_product_view::end, когда базовое представление V является common_range.
Тип /*iterator*/<true> возвращается квалифицированными перегрузками с const. Тип /*iterator*/<false> возвращается перегрузками без const.
Типы членов
| Тип члена | Определение |
|---|---|
iterator_category | std::input_iterator_tag |
iterator_concept |
|
value_type |
|
reference |
|
difference_type | Тип целого числа (возможно, наименьшего), определённый реализацией, достаточный для хранения произведения максимальных размеров всех базовых диапазонов, если такой тип существует. |
Parent (private) | /*maybe-const*/<Const, cartesian_product_view>.(тип члена, только для примера*) |
Члены данных
| Объект члена | Определение |
|---|---|
parent_ (private) | Указатель типа Parent на родительский cartesian_product_view.(объект члена, только для примера*) |
current_ (private) | Кортеж итераторов на текущие базовые элементы типа std::tuple<ranges::iterator_t</*maybe-const*/<Const, First>>,.(объект члена, только для примера*) |
Члены-функции
|
(C++23) | создает итератор (публичная функция-член) |
|
(C++23) | доступ к элементу (публичная функция-член) |
|
(C++23) | доступ к элементу по индексу (публичная функция-член) |
|
(C++23) | продвигает или уменьшает базовый итератор (публичная функция-член) |
|
(C++23) | продвигает итератор (функция члена, только для примера*) |
|
(C++23) | уменьшает итератор (функция члена, только для примера*) |
|
(C++23) | возвращает расстояние между двумя итераторами (функция члена, только для примера*) |
Независимые функции
|
(C++23) | сравнивает базовые итераторы (функция) |
|
(C++23) | выполняет арифметику итераторов (функция) |
|
(C++23) | преобразует результат разыменования базового итератора в ассоциированный тип ссылки rvalue (функция) |
|
(C++23) | меняет местами элементы, на которые указывают базовые итераторы (функция) |
Пример
Ссылки
- Стандарт C++23 (ISO/IEC 14882:2023):
- 26.7.32.3 Шаблон класса cartesian_product_view::iterator [range.cartesian.iterator]
См. также
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/cartesian_product_view/iterator