From Jason Turner

[re.tokiter]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp04p4hi9l/{from.md → to.md} +30 -8
tmp/tmp04p4hi9l/{from.md → to.md} RENAMED
@@ -78,25 +78,47 @@ namespace std {
78
  regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
79
  const regex_type& re,
80
  const int (&submatches)[N],
81
  regex_constants::match_flag_type m =
82
  regex_constants::match_default);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  regex_token_iterator(const regex_token_iterator&);
84
  regex_token_iterator& operator=(const regex_token_iterator&);
85
  bool operator==(const regex_token_iterator&) const;
86
  bool operator!=(const regex_token_iterator&) const;
87
  const value_type& operator*() const;
88
  const value_type* operator->() const;
89
  regex_token_iterator& operator++();
90
  regex_token_iterator operator++(int);
91
- private: // data members for exposition only:
92
- typedef regex_iterator<BidirectionalIterator, charT, traits> position_iterator;
93
- position_iterator position;
94
- const value_type *result;
95
- value_type suffix;
96
- std::size_t N;
97
- std::vector<int> subs;
 
98
  };
99
  }
100
  ```
101
 
102
  A *suffix iterator* is a `regex_token_iterator` object that points to a
@@ -184,11 +206,11 @@ returns `true` if `position == right.position`, `N == right.N`, and
184
  bool operator!=(const regex_token_iterator& right) const;
185
  ```
186
 
187
  *Returns:* `!(*this == right)`.
188
 
189
- #### `regex_token_iterator` dereference <a id="re.tokiter.deref">[[re.tokiter.deref]]</a>
190
 
191
  ``` cpp
192
  const value_type& operator*() const;
193
  ```
194
 
 
78
  regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
79
  const regex_type& re,
80
  const int (&submatches)[N],
81
  regex_constants::match_flag_type m =
82
  regex_constants::match_default);
83
+ regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
84
+ const regex_type&& re,
85
+ int submatch = 0,
86
+ regex_constants::match_flag_type m =
87
+ regex_constants::match_default) = delete;
88
+ regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
89
+ const regex_type&& re,
90
+ const std::vector<int>& submatches,
91
+ regex_constants::match_flag_type m =
92
+ regex_constants::match_default) = delete;
93
+ regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
94
+ const regex_type&& re,
95
+ initializer_list<int> submatches,
96
+ regex_constants::match_flag_type m =
97
+ regex_constants::match_default) = delete;
98
+ template <std::size_t N>
99
+ regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b,
100
+ const regex_type&& re,
101
+ const int (&submatches)[N],
102
+ regex_constants::match_flag_type m =
103
+ regex_constants::match_default) = delete;
104
  regex_token_iterator(const regex_token_iterator&);
105
  regex_token_iterator& operator=(const regex_token_iterator&);
106
  bool operator==(const regex_token_iterator&) const;
107
  bool operator!=(const regex_token_iterator&) const;
108
  const value_type& operator*() const;
109
  const value_type* operator->() const;
110
  regex_token_iterator& operator++();
111
  regex_token_iterator operator++(int);
112
+ private:
113
+ typedef
114
+ regex_iterator<BidirectionalIterator, charT, traits> position_iterator; // exposition only
115
+ position_iterator position; // exposition only
116
+ const value_type* result; // exposition only
117
+ value_type suffix; // exposition only
118
+ std::size_t N; // exposition only
119
+ std::vector<int> subs; // exposition only
120
  };
121
  }
122
  ```
123
 
124
  A *suffix iterator* is a `regex_token_iterator` object that points to a
 
206
  bool operator!=(const regex_token_iterator& right) const;
207
  ```
208
 
209
  *Returns:* `!(*this == right)`.
210
 
211
+ #### `regex_token_iterator` indirection <a id="re.tokiter.deref">[[re.tokiter.deref]]</a>
212
 
213
  ``` cpp
214
  const value_type& operator*() const;
215
  ```
216