std::ranges::stride_view<V>::end
From cppreference.com
< 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;、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をモデルとします。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連項目
| 先頭へのイテレータを返す (public メンバ関数) | |
| (C++20) |
rangeの終端を示す番兵を返す (カスタマイゼーションポイントオブジェクト) |