Namespaces
Variants

std::ranges::zip_view<Представления...>::iterator

С сайта ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
 
template< bool Const >
class /*iterator*/;
(только для демонстрации*)

Тип итератора возможно cv-квалифицированного zip_view, возвращаемый zip_view::begin и в определённых случаях zip_view::end.

Тип /*iterator*/<true> или /*iterator*/<false> рассматривает базовые представления как const-квалифицированные или не const-квалифицированные соответственно.

Типы-члены

Член Определение
iterator_concept
  • std::random_access_iterator_tag, если all-random-access<Const, Views...> является true, иначе
  • std::bidirectional_iterator_tag, если all-bidirectional<Const, Views...> является true, иначе
  • std::forward_iterator_tag, если all-forward<Const, Views...> является true, иначе
  • std::input_iterator_tag.
iterator_category
(присутствует условно)
  • std::input_iterator_tag, если all-forward<Const, Views...> является true,
  • иначе не определён.
value_type
  • std::tuple<ranges::range_value_t<Views>...>, если Const является false,
  • std::tuple<ranges::range_value_t<const Views>...>иначе.
difference_type
  • std::common_type_t<ranges::range_difference_t<Views>...>, если Const является false,
  • std::common_type_t<ranges::range_difference_t<const Views>...>иначе.

Элементы данных

Элемент Определение
current_ (закрытый)
  • std::tuple<ranges::iterator_t<Views>...> если Const является false, или
  • std::tuple<ranges::iterator_t<const Views>...> в противном случае.
    (объект-член, предназначенный только для демонстрации*)

Функции-члены

создает итератор
(public member function)
получает кортежеподобное значение, состоящее из указываемых базовых элементов
(public member function)
получает кортежеподобное значение, состоящее из базовых элементов по заданному смещению
(public member function)
перемещает или уменьшает базовые итераторы
(public member function)

Функции, не являющиеся членами класса

сравнивает базовые итераторы
(функция)
выполняет арифметические операции над базовыми итераторами
(функция)
(C++23)
получает кортежеподобное значение, обозначающее перемещаемые базовые элементы
(функция)
(C++23)
обменивает базовые элементы
(функция)

Пример