名前空間
変種
操作

std::ranges::enumerate_view<V>::end

From cppreference.com
 
 
Rangesライブラリ
Rangeアダプタ
 
 
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 メンバ関数) [編集]
rangeの終端を示す番兵を返す
(カスタマイゼーションポイントオブジェクト)[編集]
English 日本語 中文(简体) 中文(繁體)