From Jason Turner

[re.regiter]

Diff to HTML by rtfpessoa

tmp/tmp0kain8z2/{from.md → to.md} RENAMED
@@ -1,7 +1,9 @@
1
  ### Class template `regex_iterator` <a id="re.regiter">[[re.regiter]]</a>
2
 
 
 
3
  The class template `regex_iterator` is an iterator adaptor. It
4
  represents a new view of an existing iterator sequence, by enumerating
5
  all the occurrences of a regular expression within that sequence. A
6
  `regex_iterator` uses `regex_search` to find successive regular
7
  expression matches within the sequence from which it was constructed.
@@ -28,10 +30,11 @@ namespace std {
28
  class traits = regex_traits<charT>>
29
  class regex_iterator {
30
  public:
31
  using regex_type = basic_regex<charT, traits>;
32
  using iterator_category = forward_iterator_tag;
 
33
  using value_type = match_results<BidirectionalIterator>;
34
  using difference_type = ptrdiff_t;
35
  using pointer = const value_type*;
36
  using reference = const value_type&;
37
 
@@ -43,10 +46,11 @@ namespace std {
43
  const regex_type&&,
44
  regex_constants::match_flag_type = regex_constants::match_default) = delete;
45
  regex_iterator(const regex_iterator&);
46
  regex_iterator& operator=(const regex_iterator&);
47
  bool operator==(const regex_iterator&) const;
 
48
  const value_type& operator*() const;
49
  const value_type* operator->() const;
50
  regex_iterator& operator++();
51
  regex_iterator operator++(int);
52
 
@@ -161,11 +165,11 @@ the beginning of the target sequence, which is often not the same as the
161
  offset from the sequence passed in the call to
162
  `regex_search`. — *end note*]
163
 
164
  It is unspecified how the implementation makes these adjustments.
165
 
166
- [*Note 2*: This means that a compiler may call an
167
  implementation-specific search function, in which case a program-defined
168
  specialization of `regex_search` will not be called. — *end note*]
169
 
170
  ``` cpp
171
  regex_iterator operator++(int);
 
1
  ### Class template `regex_iterator` <a id="re.regiter">[[re.regiter]]</a>
2
 
3
+ #### General <a id="re.regiter.general">[[re.regiter.general]]</a>
4
+
5
  The class template `regex_iterator` is an iterator adaptor. It
6
  represents a new view of an existing iterator sequence, by enumerating
7
  all the occurrences of a regular expression within that sequence. A
8
  `regex_iterator` uses `regex_search` to find successive regular
9
  expression matches within the sequence from which it was constructed.
 
30
  class traits = regex_traits<charT>>
31
  class regex_iterator {
32
  public:
33
  using regex_type = basic_regex<charT, traits>;
34
  using iterator_category = forward_iterator_tag;
35
+ using iterator_concept = input_iterator_tag;
36
  using value_type = match_results<BidirectionalIterator>;
37
  using difference_type = ptrdiff_t;
38
  using pointer = const value_type*;
39
  using reference = const value_type&;
40
 
 
46
  const regex_type&&,
47
  regex_constants::match_flag_type = regex_constants::match_default) = delete;
48
  regex_iterator(const regex_iterator&);
49
  regex_iterator& operator=(const regex_iterator&);
50
  bool operator==(const regex_iterator&) const;
51
+ bool operator==(default_sentinel_t) const { return *this == regex_iterator(); }
52
  const value_type& operator*() const;
53
  const value_type* operator->() const;
54
  regex_iterator& operator++();
55
  regex_iterator operator++(int);
56
 
 
165
  offset from the sequence passed in the call to
166
  `regex_search`. — *end note*]
167
 
168
  It is unspecified how the implementation makes these adjustments.
169
 
170
+ [*Note 2*: This means that an implementation can call an
171
  implementation-specific search function, in which case a program-defined
172
  specialization of `regex_search` will not be called. — *end note*]
173
 
174
  ``` cpp
175
  regex_iterator operator++(int);