名稱空間
變體
操作

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

來自 cppreference.com
< cpp‎ | ranges‎ | stride view
 
 
範圍庫 (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,它與末尾迭代器相等。

[編輯] 注意

當底層檢視 V 建模 common_range 時,stride_view<V> 也建模 common_range

[編輯] 示例

[編輯] 參閱

返回指向起始的迭代器
(public member function) [編輯]
返回指示範圍末尾的哨兵
(customization point object)[編輯]