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 (private) maybe-const <Const,ranges::adjacent_transform_view>
(тип-член, используемый только для экспозиции*)
Base (private) maybe-const <Const,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_ (private) указатель на родительский объект
(объект-член, используемый только для экспозиции*)
inner_iterator inner_ (private) итератор
(объект-член, используемый только для экспозиции*)

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

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

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

operator==operator<operator>operator<=operator>=operator<=>
(C++23)
сравнивает базовые итераторы
(функция)
operator+operator-
(C++23)
выполняет арифметические операции с итераторами
(функция)

Пример

Ссылки

  • Стандарт C++23 (ISO/IEC 14882:2024):
    • 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/cpp/ranges/adjacent_transform_view/iterator

Spec-Zone.ru

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