std::ranges::zip_view<Views...>::end
出自 cppreference.cn
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*/ = |
(3) | (仅为演示目的而提供的定义。实现不需要以这种方式定义实体。此实体的名称未指定。) |
返回一个迭代器或一个哨位,它与zip_view
的末尾迭代器比较相等。
设views_
表示底层视图元组。
1) 等价于
- return /*sentinel*/<false>(/*tuple-transform*/(ranges::end, views_));,
- 如果 /*zip-is-common*/<Views...> 求值为 false。 否则,
- return begin() + std::iter_difference_t</*iterator*/<false>>(size());,
- 如果 (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。 否则,
- return begin() + std::iter_difference_t</*iterator*/<true>>(size());,
- 如果 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...
中的每个类型 Vi
,const Vi 模型 range
。
[编辑] 示例
本节尚不完整 原因:没有示例 |
[编辑] 参见
返回指向起始位置的迭代器 (公共成员函数) | |
(C++20) |
返回一个哨位,指示范围的末尾 (自定义点对象) |