Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
template < bool Const >
class /*iterator*/ ;
(自 C++23 起)
( 仅用于说明* )

可能带有 const 限定符的 zip_transform_view 的迭代器类型,由 zip_transform_view::begin 返回,并在某些情况下由 zip_transform_view::end 返回。

类型 /*iterator*/ < true > /*iterator*/ < false > 分别将底层视图视为常量限定或非常量限定。

目录

成员类型

成员类型 定义
Parent (私有) Const false 则为 zip_transform_view ,否则为 const zip_transform_view
( 仅用于说明的成员类型* )
Base (私有) Const false 则为 InnerView ,否则为 const InnerView
( 仅用于说明的成员类型* )
iterator_category
(条件性存在)

/*maybe-const*/ < Const, F > & 表示:若 Const true 则为 const F & ,否则为 F &
/*maybe-const*/ < Const, Views > 表示:若 Const true 则为 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_ (private) 指向父对象的指针 Parent*
( 仅用于说明的成员对象* )
inner_ (private) 类型为 ziperator<Const> 的迭代器。
( 仅用于说明的成员类型* )

成员函数

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

非成员函数

比较底层迭代器
(函数)
对底层迭代器执行迭代器算术运算
(函数)

示例