tmp/tmpkixt5q5_/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#### Associated types <a id="common.iter.types">[[common.iter.types]]</a>
|
| 2 |
+
|
| 3 |
+
The nested *typedef-name*s of the specialization of `iterator_traits`
|
| 4 |
+
for `common_iterator<I, S>` are defined as follows.
|
| 5 |
+
|
| 6 |
+
- `iterator_concept` denotes `forward_iterator_tag` if `I` models
|
| 7 |
+
`forward_iterator`; otherwise it denotes `input_iterator_tag`.
|
| 8 |
+
- `iterator_category` denotes `forward_iterator_tag` if
|
| 9 |
+
`iterator_traits<I>::iterator_category` models
|
| 10 |
+
`derived_from<forward_iterator_tag>`; otherwise it denotes
|
| 11 |
+
`input_iterator_tag`.
|
| 12 |
+
- If the expression `a.operator->()` is well-formed, where `a` is an
|
| 13 |
+
lvalue of type `const common_iterator<I, S>`, then `pointer` denotes
|
| 14 |
+
the type of that expression. Otherwise, `pointer` denotes `void`.
|
| 15 |
+
|