命名空间
变体
操作

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 (私有) zip_transform_view 如果 Constfalse,否则为 const zip_transform_view.
(仅供说明成员类型*)
Base (私有) InnerView 如果 Constfalse,否则为 const InnerView.
(仅供说明成员类型*)
iterator_category
(条件存在)

/*maybe-const*/<Const, F>& 表示 const F& 如果 Consttrue,否则表示 F&.
/*maybe-const*/<Const, Views> 表示 const Views 如果 Consttrue,否则表示 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,则为 std::forward_iterator_tag

如果 /*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*/>

[edit] 数据成员

成员对象 定义
parent_ (private) 指向父对象的指针 Parent*
(仅用于说明的目的的成员对象*)
inner_ (private) 类型为 ziperator<Const> 的迭代器。
(仅供说明成员类型*)

[edit] 成员函数

构造迭代器
(公共成员函数)
获取对可调用对象应用于底层所指元素的结果
(公共成员函数)
获取对可调用对象应用于给定偏移处的底层元素的结果
(公共成员函数)
前进或后退底层迭代器
(公共成员函数) [edit]

[edit] 非成员函数

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

[edit] 示例