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