Namespaces
Variants

std::ranges::transform_view<V,F>:: iterator

From cppreference.net
Ranges library
Range adaptors
template < bool Const >
class /*iterator*/
(начиная с C++20)
( только для демонстрации* )

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

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

Содержание

Типы членов

Тип члена Определение
Parent (private) maybe-const  < Const, ranges:: transform_view < V, F >>
( тип члена только для демонстрации* )
Base (private) maybe-const  < Const, V >
( тип члена только для демонстрации* )
iterator_concept
iterator_category
(присутствует только если Base моделирует
forward_range )
Пусть MCF будет maybe-const  < Const, F > .

Иначе, пусть C будет std:: iterator_traits < ranges:: iterator_t < Base >> :: iterator_category .

value_type std:: remove_cvref_t < std:: invoke_result_t < MCF & , ranges:: range_reference_t < Base >>> , где MCF обозначает maybe-const  < Const, F >
difference_type ranges:: range_difference_t < Base >

Члены данных

Имя члена Определение
current_ (приватный) Итератор в (возможно, константно-квалифицированный) V .
( объект-член только для демонстрации* )
parent_ (приватный) Указатель на родительский transform_view .
( объект-член только для демонстрации* )

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

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

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

сравнивает базовые итераторы
(функция)
выполняет арифметические операции с итераторами
(функция)
(C++20)
получает rvalue-ссылку на преобразованный элемент
(функция)

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены задним числом к ранее опубликованным стандартам C++.

DR Применяется к Поведение в опубликованной версии Корректное поведение
P2259R1 C++20 член iterator_category всегда определен определяется только если Base моделирует forward_range
LWG 3555 C++20 определение iterator_concept игнорирует const изменено для учета
LWG 3798 C++20 iterator_category только input, если результат преобразования - rvalue reference может иметь более сильную категорию