Namespaces
Variants

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

From ja.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 の終端を表します。

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 > は、基盤となるビュー V が common_range をモデル化する場合に、常に common_range をモデル化します。

例

関連項目

先頭を指すイテレータを返す
(公開メンバ関数)
範囲の終端を示すセンチネルを返す
(カスタマイゼーションポイントオブジェクト)