命名空间
变体
操作

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

出自 cppreference.cn
< cpp‎ | ranges‎ | zip view
 
 
范围库
范围适配器
 
 
constexpr auto end()
    requires (!(/*simple-view*/<Views> && ...);
(1) (自 C++23 起)
constexpr auto end() const
    requires (ranges::range<const Views> && ...);
(2) (自 C++23 起)
template< class... Rs >

concept /*zip-is-common*/ =
    (sizeof...(Rs) == 1 && (ranges::common_range<Rs> && ...))
    ||
    (!(ranges::bidirectional_range<Rs> && ...) && (ranges::common_range<Rs> && ...))
    ||

    ((ranges::random_access_range<Rs> && ...) && (ranges::sized_range<Rs> && ...));
(3) (仅为演示目的而提供的定义。实现不需要以这种方式定义实体。此实体的名称未指定。)

返回一个迭代器或一个哨位,它与zip_view的末尾迭代器比较相等。

views_表示底层视图元组。

1) 等价于
  • return /*sentinel*/<false>(/*tuple-transform*/(ranges::end, views_));,
如果 /*zip-is-common*/<Views...> 求值为 false。 否则,
如果 (ranges::random_access_range<Views> && ...) 求值为 true。 否则,
  • return /*iterator*/<false>(/*tuple-transform*/(ranges::end, views_));.
2) 等价于
  • return /*sentinel*/<true>(/*tuple-transform*/(ranges::end, views_));,
如果 /*zip-is-common*/<const Views...> 求值为 false。 否则,
如果 ranges::random_access_range<const Views> && ... 求值为 true。 否则,
  • return /*iterator*/<true>(/*tuple-transform*/(ranges::end, views_));.

目录

[编辑] 参数

(无)

[编辑] 返回值

一个迭代器或哨位,表示 zip_view 的末尾,如上所述。

[编辑] 注解

ranges::range<const ranges::zip_view<Views...>> 被建模,当且仅当 Views... 中的每个类型 Viconst Vi 模型 range

[编辑] 示例

[编辑] 参见

返回指向起始位置的迭代器
(公共成员函数) [编辑]
返回一个哨位,指示范围的末尾
(自定义点对象)[编辑]