最終更新日時: 2025年05月15日 12時38分56秒 (JST)
Akira Takahashi が更新

履歴 編集

type-alias
<iterator>

# std::move_iterator::iterator_concept(C++20)

    using iterator_concept = 以下参照; // (1) C++20

## 概要

イテレータコンセプトを表す型。

- C++20:
  - `input_iterator_tag`
- C++23:
  - `Iterator`が`random_access_iterator`コンセプトのモデルである場合、`random_access_iterator_tag`
  - `Iterator`が`bidirectional_iterator`コンセプトのモデルである場合、`bidirectional_iterator_tag`
  - `Iterator`が`forward_iterator`コンセプトのモデルである場合、`forward_iterator_tag`
  - そうでない場合、`input_iterator_tag`

## バージョン

### 言語

- C++20

## 参照

- P0896R4 The One Ranges Proposal (was Merging the Ranges TS)
- P2520R0 `move_iterator<T*>` should be a random access iterator
  - C++23で`iterator_concept`がランダムアクセスイテレータにできるようになった