std::ranges::transform_view<V,F>:: iterator
|
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
>
.
Иначе, пусть
|
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)
|
выполняет арифметические операции с итераторами
(функция) |
|
(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
|
может иметь более сильную категорию |