名前空間
変種
操作

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

From cppreference.com
< cpp‎ | ranges‎ | stride view
 
 
Rangesライブラリ
Rangeアダプタ
 
 
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) Constusing Const = false;Baseusing Base = V; と定義します。
2) Constusing 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;
}

目次

[編集] パラメータ

(なし)

[編集] 戻り値

基となるビュー Vcommon_rangeをモデルとする場合、最後の要素の次の要素へのイテレータを返します。それ以外の場合は、終端イテレータと等価比較可能なstd::default_sentinelを返します。

[編集] 注釈

stride_view<V> は、基となるビュー Vcommon_rangeをモデルとする場合に、common_rangeをモデルとします。

[編集]

[編集] 関連項目

先頭へのイテレータを返す
(public メンバ関数) [編集]
rangeの終端を示す番兵を返す
(カスタマイゼーションポイントオブジェクト)[編集]
English 日本語 中文(简体) 中文(繁體)