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 的返回类型,以及当底层视图为 common_range transform_view::end 的返回类型。

类型 /*iterator*/ < true > 由常量限定重载返回。类型 /*iterator*/ < false > 由非常量限定重载返回。

目录

成员类型

成员类型 定义
Parent (私有) maybe-const  < Const, ranges:: transform_view < V, F >>
( 仅用于说明的成员类型* )
Base (私有) 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_ (private) 指向(可能为 const 限定) V 的迭代器。
( 仅用于说明的成员对象* )
parent_ (private) 指向父级 transform_view 的指针。
( 仅用于说明的成员对象* )

成员函数

构造迭代器
(公开成员函数)
返回底层迭代器
(公开成员函数)
访问被转换的元素
(公开成员函数)
通过索引访问元素
(公开成员函数)
前进或回退底层迭代器
(公开成员函数)

非成员函数

比较底层迭代器
(函数)
执行迭代器算术运算
(函数)
(C++20)
获取被转换元素的右值引用
(函数)

缺陷报告

下列行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。

缺陷报告 应用于 发布时行为 正确行为
P2259R1 C++20 成员 iterator_category 始终被定义 仅当 Base 满足 forward_range 概念时定义
LWG 3555 C++20 iterator_concept 的定义忽略 const 限定 修正为考虑 const 限定
LWG 3798 C++20 当转换结果为右值引用时 iterator_category 仅为 input 类别 可能具有更强的类别