std::ranges::zip_transform_view<F,Views...>::iterator

来自cppreference.com
 
 
范围库
范围适配器
 
 
template< bool Const >
class /*iterator*/;
(C++23 起)
(仅用于阐述*)

可能 const 限定的 zip_transform_view 的迭代器类型,由 zip_transform_view::begin 返回,以及特定情况下由 zip_transform_view::end 返回。

类型 /*iterator*/<true>/*iterator*/<false> 分别将底层视图当作 const 限定或非 const 限定。

成员类型

成员类型 定义
Parent (私有) Constfalse 时为 zip_transform_view,否则为 const zip_transform_view
(仅用于阐述的成员类型*)
Base (私有) Constfalse 时为 InnerView,否则为 const InnerView
(仅用于阐述的成员类型*)
iterator_category
(有条件提供)

/*maybe-const*/<Const, F>&Consttrue 时代表 const F&,否则代表 F&
/*maybe-const*/<Const, Views>Consttrue 时代表 const Views,否则代表 Views

/*POT*/ 代表类型包 std::iterator_traits<std::iterator_t<
    /*maybe-const*/<Const, Views>>>::iterator_category...

如果 /*Base*/ 实现 forward_range,那么 iterator_category

不是引用。
  • 否则,
(std::derived_from</*POT*/, std::random_access_iterator_tag> && ...)true
(std::derived_from</*POT*/, std::bidirectional_iterator_tag> && ...)true
(std::derived_from</*POT*/, std::forward_iterator_tag> && ...)true

如果 /*Base*/ 并不实现 forward_range 则它不出现。

iterator_concept /*ziperator*/<Const>::iterator_concept
value_type

/*RREF*/ranges::range_reference_t<Views>...
并令 /*CRREF*/ranges::range_reference_t<const Views>...。则为:

difference_type range::range_difference_t</*Base*/>

数据成员

成员对象 定义
parent_ (私有) 指向父对象的 Parent* 指针
(仅用于阐述的成员对象*)
inner_ (私有) An iterator of type ziperator<Const>.
(仅用于阐述的成员类型*)

成员函数

构造迭代器
(公开成员函数)
获取对所指向的底层元素应用可调用对象的结果
(公开成员函数)
获取对给定偏移处的底层元素应用可调用对象的结果
(公开成员函数)
推进或减小底层迭代器
(公开成员函数)

非成员函数

比较底层迭代器
(函数)
在底层迭代器上实施迭代器算术
(函数)

示例