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.
Содержание |
Типы членов
| Член | Определение |
Parent
(private)
|
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
|
Определяемый реализацией знаковый целочисленный тип (возможно наименьший из таких типов), который достаточно широк для хранения произведения максимальных размеров всех базовых диапазонов, если такой тип существует. |
Члены данных
| Член | Определение |
Parent*
parent_
(private)
|
Указатель на родительский объект
cartesian_product_view
( член объекта только для демонстрации* ) |
current_
(private)
|
Кортеж итераторов к текущим базовым элементам типа
std::
tuple
<
ranges::
iterator_t
<
/*maybe-const*/
<
Const, First
>>
,
ranges:: iterator_t < /*maybe-const*/ < Const, Vs >> ... > ( член объекта только для демонстрации* ) |
Функции-члены
|
создает итератор
(публичная функция-член) |
|
|
обращается к элементу
(публичная функция-член) |
|
|
обращается к элементу по индексу
(публичная функция-член) |
|
|
продвигает или уменьшает базовый итератор
(публичная функция-член) |
|
|
продвигает итератор
( функция-член только для демонстрации* ) |
|
|
уменьшает итератор
( функция-член только для демонстрации* ) |
|
|
возвращает расстояние между двумя итераторами
( функция-член только для демонстрации* ) |
Функции, не являющиеся членами класса
|
(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 Шаблон класса