Spec-Zone.ru › C++

std::ranges::adjacent_transform_view<V,F,N>::iterator

template< bool Const >
class /*iterator*/
(с C++23)
(только для примера*)

Тип возвращаемого значения adjacent_transform_view::begin, и adjacent_transform_view::end, когда базовое представление V является common_range.

Тип /*iterator*/<true> возвращается перегрузками с const-квалификатором. Тип /*iterator*/<false> возвращается перегрузками без const-квалификатора.

Типы членов

Тип члена Определение
Parent (приватный) const ranges::adjacent_transform_view, если Const является true. В противном случае, ranges::adjacent_transform_view.
(только для примера*)
Base (приватный) const V, если Const является true. В противном случае, V.
(только для примера*)
iterator_category
  • std::input_iterator_tag, если
std::invoke_result_t</*maybe-const*/<Const, F>&,
/*REPEAT*/(ranges::range_reference_t<Base>, N)...>
не является ссылкой. В противном случае,
  • пусть C обозначает тип std::iterator_traits<iterator_t<Base>>::iterator_category.
    • std::random_access_iterator_tag, если
      std::derived_from<C, std::random_access_iterator_tag> является true. В противном случае,
    • std::bidirectional_iterator_tag, если
      std::derived_from<C, std::bidirectional_iterator_tag> является true. В противном случае,
    • std::forward_iterator_tag, если
      std::derived_from<C, std::forward_iterator_tag> является true. В противном случае,
    • std::input_iterator_tag.
iterator_concept typename /*inner-iterator*/<Const>::iterator_concept;.
value_type

std::remove_cvref_t<std::invoke_result_t</*maybe-const*/<Const, F>&,
/*REPEAT*/(ranges::range_reference_t<Base>, N)...>>;

difference_type ranges::range_difference_t<Base>

Члены данных

Объект члена Определение
parent_ (приватный) Указатель типа Parent*.
(только для примера*)
inner_ (приватный) Итератор типа inner_iterator.
(только для примера*)

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

(конструктор)
(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)
выполняет арифметические операции с итераторами
(функция)

Пример

Ссылки

  • Стандарт C++23 (ISO/IEC 14882:2023):
    • 26.7.27.3 Класс-шаблон adjacent_transform_view::iterator [range.adjacent_transform.iterator]

См. также

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

Spec-Zone.ru

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