std::ranges::enumerate_view<V>::end
From cppreference.com
< cpp | ranges | enumerate view
| 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_));
目次 |
[編集] パラメータ
(なし)
[編集] 戻り値
上記で説明されているように、enumerate_view の終端を表すイテレータまたはセンチネル。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 3919 | C++23 | サイズを持つ共通 フォワード以外の基底範囲に対して `ranges::distance` が UB を呼び出す可能性があります。 |
センチネル型がそのような範囲に対して返されます。 |
[編集] 関連項目
| 先頭へのイテレータを返す (public メンバ関数) | |
| (C++20) |
rangeの終端を示す番兵を返す (カスタマイゼーションポイントオブジェクト) |