最終更新日時(UTC):
が更新

履歴 編集

class template
<ranges>

std::ranges::filter_view::iterator(C++23)

namespace std::ranges {
  template<input_range V, indirect_unary_predicate<iterator_t<V>> Pred>
    requires view<V> && is_object_v<Pred>
  class filter_view<V, Pred>::iterator { …… };
}

概要

filter_viewのイテレータ。

このクラスの名前は規定されておらず、振る舞いのみが規定されている。

このクラスの型を取得したい場合、iterator_tを使用できる。

このイテレータを通じて値を書き換える場合、その結果が述語の条件を満たさない場合は未定義動作となる。

メンバ変数

名前 説明 対応バージョン
iterator_t<V> current_ = iterator_t<V>(); 元のイテレータ(説明専用) C++20
filter_view* parent_ = nullptr; 参照先のRange(説明専用) C++20

メンバ関数

名前 説明 対応バージョン
(constructor) コンストラクタ C++20
base 元のイテレータを取得する C++20
operator* 間接参照演算子 C++20
operator-> メンバアクセス演算子 C++20
operator++ イテレータをインクリメントする C++20
operator-- イテレータをデクリメントする C++20

メンバ型

名前 説明 対応バージョン
iterator_concept イテレータコンセプト C++20
iterator_category イテレータカテゴリ C++20
value_type range_value_t<V> C++20
difference_type range_difference_t<V> C++20

非メンバ(Hidden friends)関数

名前 説明 対応バージョン
iter_move イテレータの要素の移動 C++20
iter_swap イテレータの要素の交換 C++20

比較演算子

名前 説明 対応バージョン
operator== 等値比較 C++20
operator!= 非等値比較 (==により使用可能) C++20

バージョン

言語

  • C++20

処理系

参照