std::ranges::zip_view<Views...>::iterator

来自cppreference.com
 
 
范围库
范围适配器
 
 
<tbody> </tbody>
template< bool Const > class /*iterator*/;
(仅用于阐述*)
辅助概念
template< bool C, class... Views > concept /*all-forward*/ = (ranges::forward_range<std::conditional_t<C, const Views, Views>> && ...);
(2) (仅用于阐述*)
template< bool C, class... Views > concept /*all-bidirectional*/ = (ranges::bidirectional_range<std::conditional_t<C, const Views, Views>> && ...);
(3) (仅用于阐述*)
template< bool C, class... Views > concept /*all-random-access*/ = (ranges::random_access_range<std::conditional_t<C, const Views, Views>> && ...);
(4) (仅用于阐述*)

可能 const 限定的 zip_view 的迭代器类型,由 zip_view::begin 返回,并在特定情况下由 zip_view::end 返回。

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

成员类型

成员类型 定义
iterator_concept
  • std::random_access_iterator_tag,若 all-random-access<Const, Views...>true
  • 否则为 std::bidirectional_iterator_tag,若 all-bidirectional<Const, Views...>true
  • 否则为 std::forward_iterator_tag,若 all-forward<Const, Views...>true
  • 否则为 std::input_iterator_tag
iterator_category
(有条件提供)
  • std::input_iterator_tag,若 all-forward<Const, Views...>true
  • 否则不定义。
value_type
  • std::tuple<ranges::range_value_t<Views>...>,若 Constfalse
  • 否则为 std::tuple<ranges::range_value_t<const Views>...>
difference_type
  • std::common_type_t<ranges::range_difference_t<Views>...>,若 Constfalse
  • 否则为 std::common_type_t<ranges::range_difference_t<const Views>...>

数据成员

成员名称 定义
current_ (私有)
  • std::tuple<ranges::iterator_t<Views>...>,如果 Constfalse
  • 否则为 std::tuple<ranges::iterator_t<const Views>...>
    (仅用于阐述的成员对象*)

成员函数

构造迭代器
(公开成员函数)
获取由底层被指向元素构成的元组式值
(公开成员函数)
获取由给定偏移处的元素构成的元组式值
(公开成员函数)
推进或减小各底层迭代器
(公开成员函数) [编辑]

非成员函数

比较底层迭代器
(函数)
在底层迭代器上实施迭代器算术
(函数)
(C++23)
获取一个元组式值,代表要移动的底层被指向元素
(函数)
(C++23)
交换底层的被指向元素
(函数)

示例