Namespaces
Variants

std::ranges::cartesian_product_view<First, Vs...>:: iterator

From cppreference.net
Ranges library
Range adaptors
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)
преобразует результат разыменования базового итератора в соответствующую rvalue ссылку
(функция)
(C++23)
обменивает базовые элементы, на которые указывают итераторы
(функция)

Пример

Ссылки

  • Стандарт C++23 (ISO/IEC 14882:2024):
  • 26.7.32.3 Шаблон класса cartesian_product_view::iterator [range.cartesian.iterator]

Смотрите также