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) |
返回指示范围末尾的哨兵 (定制点对象) |