Skip to content

Commit 921ab26

Browse files
committed
filter_view::iterator : iterator_categoryとiterator_conceptを追加 #713
1 parent 05294b6 commit 921ab26

File tree

3 files changed

+53
-6
lines changed

3 files changed

+53
-6
lines changed

reference/ranges/filter_view/iterator.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ namespace std::ranges {
4444
4545
## メンバ型
4646
47-
| 名前 | 説明 | 対応バージョン |
48-
|------------------------------------------------------|----------------------------------------------------------|----------------|
49-
| [`iterator_concept`](iterator/iterator_concept.md.nolink) | イテレータコンセプト | C++20 |
50-
| [`iterator_category`](iterator/iterator_category.md.nolink) | イテレータカテゴリ | C++20 |
51-
| `value_type` | [`range_value_t<V>`](../range_value_t.md) | C++20 |
52-
| `difference_type` | [`range_difference_t<V>`](../range_difference_t.md) | C++20 |
47+
| 名前 | 説明 | 対応バージョン |
48+
|-----------------------------------------------------------|-----------------------------------------------------|----------------|
49+
| [`iterator_concept`](iterator/type-iterator_concept.md) | イテレータコンセプト | C++20 |
50+
| [`iterator_category`](iterator/type-iterator_category.md) | イテレータカテゴリ | C++20 |
51+
| `value_type` | [`range_value_t<V>`](../range_value_t.md) | C++20 |
52+
| `difference_type` | [`range_difference_t<V>`](../range_difference_t.md) | C++20 |
5353
5454
## 非メンバ(*Hidden friends*)関数
5555
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# iterator_category
2+
* ranges[meta header]
3+
* std::ranges[meta namespace]
4+
* filter_view::iterator[meta class]
5+
* type-alias[meta id-type]
6+
* cpp20[meta cpp]
7+
8+
```cpp
9+
using iterator_category = 以下参照; // (1) C++20
10+
```
11+
12+
## 概要
13+
イテレータの分類を表す型。
14+
15+
このメンバ型`iterator_concept`は、`V`[`forward_ranges`](/reference/ranges/forward_range.md)コンセプトのモデルである場合にのみ、以下のように定義される。
16+
17+
- `C = iterator_traits<iterator_t<V>>::iterator_category;`であるとして、
18+
- `C`[`derived_from`](/reference/concepts/derived_from.md)`<`[`bidirectional_iterator_tag`](/reference/iterator/iterator_tag.md)`>`のモデルである場合、`iterator_category`[`bidirectional_iterator_tag`](/reference/iterator/iterator_tag.md)となる
19+
- そうでない場合、`C`[`derived_from`](/reference/concepts/derived_from.md)`<`[`forward_iterator_tag`](/reference/iterator/iterator_tag.md)`>`のモデルである場合、`iterator_category`[`forward_iterator_tag`](/reference/iterator/iterator_tag.md)となる
20+
- そうでない場合、`iterator_category``C`となる
21+
22+
23+
## バージョン
24+
### 言語
25+
- C++20
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# iterator_concept
2+
* ranges[meta header]
3+
* std::ranges[meta namespace]
4+
* filter_view::iterator[meta class]
5+
* type-alias[meta id-type]
6+
* cpp20[meta cpp]
7+
8+
```cpp
9+
using iterator_concept = 以下参照; // (1) C++20
10+
```
11+
12+
## 概要
13+
イテレータコンセプトを表す型。
14+
15+
- `V`[`bidirectional_ranges`](/reference/ranges/bidirectional_range.md)コンセプトのモデルである場合、[`bidirectional_iterator_tag`](/reference/iterator/iterator_tag.md)
16+
- `V`[`forward_ranges`](/reference/ranges/forward_range.md)コンセプトのモデルである場合、[`forward_iterator_tag`](/reference/iterator/iterator_tag.md)
17+
- そうでない場合、[`input_iterator_tag`](/reference/iterator/iterator_tag.md)
18+
19+
20+
## バージョン
21+
### 言語
22+
- C++20

0 commit comments

Comments
 (0)