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
をモデル化します。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
先頭を指すイテレータを返す
(公開メンバ関数) |
|
|
(C++20)
|
範囲の終端を示すセンチネルを返す
(カスタマイゼーションポイントオブジェクト) |