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

履歴 編集

function
<ranges>

std::ranges::filter_view::iterator::コンストラクタ(C++20)

public:
  iterator() requires default_initializable<iterator_t<V>> = default;  // (1)

private:
  constexpr iterator(filter_view& parent, iterator_t<V> current);      // (2) 説明専用

概要

filter_view::iteratorオブジェクトを構築する。

  • (1) : デフォルトコンストラクタ
  • (2) : privateな説明専用コンストラクタ。filter_viewbegin()から呼び出される

効果

#include <ranges>
#include <vector>
#include <iostream>

int main() {
  std::vector<int> vec = {0, 1, 2, 3, 4, 5};

  std::ranges::filter_view fv{vec, [](int x){ return x % 2 == 0; }};

  // begin()を経由してイテレータを取得する
  auto i = fv.begin();

  std::cout << *i << '\n';
  i++;
  std::cout << *i << '\n';
  i++;
  std::cout << *i << '\n';
}

出力

0
2
4

バージョン

言語

  • C++20

処理系

参照