From Jason Turner

[common.iter.types]

Diff to HTML by rtfpessoa

tmp/tmpho42qhl_/{from.md → to.md} RENAMED
@@ -3,13 +3,13 @@
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
 
 
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 the
9
+ *qualified-id* `iterator_traits<I>::iterator_category` is valid and
10
+ denotes a type that models `derived_from<forward_iterator_tag>`;
11
+ otherwise it denotes `input_iterator_tag`.
12
+ - Let `a` denote an lvalue of type `const common_iterator<I, S>`. If the
13
+ expression `a.operator->()` is well-formed, then `pointer` denotes
14
+ `decltype(a.operator->())`. Otherwise, `pointer` denotes `void`.
15