命名空间
变体
操作

std::ranges::stride_view<V>::end

来自 cppreference.cn
< cpp‎ | ranges‎ | stride view
 
 
范围库
范围适配器
 
 
constexpr auto end() requires (!/*simple-view*/<V>);
(1) (自 C++23 起)
constexpr auto end() const requires ranges::range<const V>
(2) (自 C++23 起)

返回一个 迭代器 或一个 哨位,表示 stride_view 的末尾。

base_stride_ 为底层数据成员。

1)Const 定义为 using Const = false;Baseusing Base = V;
2)Const 定义为 using Const = true;Baseusing 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> 在底层视图 V 建模时建模 common_range

[编辑] 示例

[编辑] 参见

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