Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
/*iterator*/ ( )
requires std:: default_initializable < ranges:: iterator_t < Base >> = default ;
(1) (C++20 起)
constexpr /*iterator*/ ( Parent & parent, ranges:: iterator_t < Base > current ) ;
(2) (C++20 起)
constexpr /*iterator*/ ( /*iterator*/ < ! Const > i )

requires Const &&

std:: convertible_to < ranges:: iterator_t < V > , ranges:: iterator_t < Base >> ;
(3) (C++20 起)

构造一个迭代器。

1) 默认构造函数。 值初始化 底层迭代器,并使用 nullptr 初始化指向父级 transform_view 的指针。
2) 使用 std :: move ( current ) 初始化底层迭代器,并使用 std:: addressof ( parent ) 初始化指向父对象的指针。
3) /*iterator*/ < false > /*iterator*/ < true > 的转换。移动构造对应成员。

参数

parent - 一个(可能带有 const 限定符的) std::ranges::transform_view
current - 指向(可能带有 const 限定符的) V 的迭代器
i - 一个 /*iterator*/ < false >

示例