std::ranges::enumerate_view<V>::end
ja.cppreference.net より
constexpr auto end() requires (!__simple_view<V>);
|
(1) | (C++23から) |
constexpr auto end() const requires /*range-with-movable-references*/<const V>;
|
(2) | (C++23から) |
基底ビューの終端イテレータと等しいと比較されるイテレータまたはセンチネルを返します。イテレータまたはセンチネルenumerate_view。
base_を基底ビューとします。
1) 以下と同等:
if constexpr (ranges::forward_range<V> and
ranges::common_range<V> and
ranges::sized_range<V>)
return /*iterator*/<false>(ranges::end(base_), ranges::distance(base_));
else
return /*sentinel*/<false>(ranges::end(base_));
2) 以下と同等:
if constexpr (ranges::forward_range<const V> and
ranges::common_range<const V> and
ranges::sized_range<const V>)
return /*iterator*/<true>(ranges::end(base_), ranges::distance(base_));
else
return /*sentinel*/<true>(ranges::end(base_));
パラメータ
(なし)
戻り値
iterator
または
sentinel
で、上記の通り
enumerate_view
の終端を表します。
例
|
このセクションは不完全です
理由: 例がありません |
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| LWG 3919 | C++23 |
ranges::distance
はサイズ指定された共通
非前方基底範囲に対してUBを引き起こす可能性がある |
そのような範囲に対してセンチネル型が返される |
関連項目
|
先頭を指すイテレータを返す
(公開メンバ関数) |
|
|
(C++20)
|
範囲の終端を示すセンチネルを返す
(カスタマイゼーションポイントオブジェクト) |