From Jason Turner

[re.tokiter]

Diff to HTML by rtfpessoa

tmp/tmp1hpohmfx/{from.md → to.md} RENAMED
@@ -1,7 +1,9 @@
1
  ### Class template `regex_token_iterator` <a id="re.tokiter">[[re.tokiter]]</a>
2
 
 
 
3
  The class template `regex_token_iterator` is an iterator adaptor; that
4
  is to say it represents a new view of an existing iterator sequence, by
5
  enumerating all the occurrences of a regular expression within that
6
  sequence, and presenting one or more sub-expressions for each match
7
  found. Each position enumerated by the iterator is a `sub_match` class
@@ -50,10 +52,11 @@ namespace std {
50
  class traits = regex_traits<charT>>
51
  class regex_token_iterator {
52
  public:
53
  using regex_type = basic_regex<charT, traits>;
54
  using iterator_category = forward_iterator_tag;
 
55
  using value_type = sub_match<BidirectionalIterator>;
56
  using difference_type = ptrdiff_t;
57
  using pointer = const value_type*;
58
  using reference = const value_type&;
59
 
@@ -101,10 +104,11 @@ namespace std {
101
  regex_constants::match_flag_type m =
102
  regex_constants::match_default) = delete;
103
  regex_token_iterator(const regex_token_iterator&);
104
  regex_token_iterator& operator=(const regex_token_iterator&);
105
  bool operator==(const regex_token_iterator&) const;
 
106
  const value_type& operator*() const;
107
  const value_type* operator->() const;
108
  regex_token_iterator& operator++();
109
  regex_token_iterator operator++(int);
110
 
 
1
  ### Class template `regex_token_iterator` <a id="re.tokiter">[[re.tokiter]]</a>
2
 
3
+ #### General <a id="re.tokiter.general">[[re.tokiter.general]]</a>
4
+
5
  The class template `regex_token_iterator` is an iterator adaptor; that
6
  is to say it represents a new view of an existing iterator sequence, by
7
  enumerating all the occurrences of a regular expression within that
8
  sequence, and presenting one or more sub-expressions for each match
9
  found. Each position enumerated by the iterator is a `sub_match` class
 
52
  class traits = regex_traits<charT>>
53
  class regex_token_iterator {
54
  public:
55
  using regex_type = basic_regex<charT, traits>;
56
  using iterator_category = forward_iterator_tag;
57
+ using iterator_concept = input_iterator_tag;
58
  using value_type = sub_match<BidirectionalIterator>;
59
  using difference_type = ptrdiff_t;
60
  using pointer = const value_type*;
61
  using reference = const value_type&;
62
 
 
104
  regex_constants::match_flag_type m =
105
  regex_constants::match_default) = delete;
106
  regex_token_iterator(const regex_token_iterator&);
107
  regex_token_iterator& operator=(const regex_token_iterator&);
108
  bool operator==(const regex_token_iterator&) const;
109
+ bool operator==(default_sentinel_t) const { return *this == regex_token_iterator(); }
110
  const value_type& operator*() const;
111
  const value_type* operator->() const;
112
  regex_token_iterator& operator++();
113
  regex_token_iterator operator++(int);
114