Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
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 ; 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 满足该概念。

示例

参见

返回指向起始位置的迭代器
(公开成员函数)
返回指示范围结束的哨兵
(定制点对象)