Spec-Zone.ru › C++

std::ranges::zip_view<Views...>::iterator

template< bool Const >
class /*iterator*/;
(1) (только для иллюстрации*)
Вспомогательные концепции
template< bool C, class... Views >
concept /*all-forward*/ =
    (ranges::forward_range<std::conditional_t<C, const Views, Views>> && ...);
(2) (только для иллюстрации*)
template< bool C, class... Views >
concept /*all-bidirectional*/ =
    (ranges::bidirectional_range<std::conditional_t<C, const Views, Views>> && ...);
(3) (только для иллюстрации*)
template< bool C, class... Views >
concept /*all-random-access*/ =
    (ranges::random_access_range<std::conditional_t<C, const Views, Views>> && ...);
(4) (только для иллюстрации*)

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

Тип /*iterator*/<true> или /*iterator*/<false> соответственно рассматривает базовые представления как с квалификатором 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_ (private) Кортеж базовых итераторов типа std::tuple<ranges::iterator_t<Views>...> или std::tuple<ranges::iterator_t<const Views>...>, когда Const является false или true соответственно.
(только для иллюстрации*)

Члены-функции

(конструктор)
(C++23)
создаёт итератор
(публичная функция-член)
operator*
(C++23)
получает кортеж-подобное значение, состоящее из элементов, на которые указывают базовые итераторы
(публичная функция-член)
operator[]
(C++23)
получает кортеж-подобное значение, состоящее из элементов на заданном смещении
(публичная функция-член)
operator++operator++(int)operator--operator--(int)operator+=operator-=
(C++23)
перемещает или уменьшает базовые итераторы
(публичная функция-член)

Функции вне класса

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/zip_view/iterator

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API