std::ranges::stride_view<V>::end
从 zh.cppreference.net
constexpr auto end() requires (!/*simple-view*/<V>);
|
(1) | (C++23 起) |
constexpr auto end() const requires ranges::range<const V>
|
(2) | (C++23 起) |
返回一个表示 迭代器或哨位,代表该 stride_view 的末尾。
1) 令
Const 定义为 using Const = false; ,Base 定义为 using Base = V;。2) 令
Const 定义为 using Const = true; ,Base 定义为 using Base = const V;。等价于:
if constexpr (ranges::common_range<Base> &&
ranges::sized_range<Base> &&
ranges::forward_range<Base>)
{
auto missing = (stride_ - ranges::distance(base_) % stride_) % stride_;
return iterator<Const>(this, ranges::end(base_), missing);
}
else if constexpr (ranges::common_range<Base> &&
!ranges::bidirectional_range<Base>)
{
return iterator<Const>(this, ranges::end(base_));
}
else
{
return std::default_sentinel;
}
参数
(无)
返回值
一个指向最后一个元素之后元素的
迭代器
,当底层视图
V
满足
common_range
概念时。否则返回与结束迭代器相等的
std::default_sentinel
。
注释
stride_view
<
V
>
满足
common_range
概念的条件是:当且仅当其底层视图
V
满足该概念。
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
返回指向起始位置的迭代器
(公开成员函数) |
|
|
(C++20)
|
返回指示范围结束的哨兵
(定制点对象) |