public member function
<regex>

std::regex_token_iterator::operator=

regex_token_iterator& operator= (const regex_token_iterator& rti);
Copy assignment
Copies the state of rti into the regex_token_iterator object.

Parameters

rti
Another regex_token_iterator object of the same type.

Return value

*this

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// regex_token_iterator::operator=
#include <iostream>
#include <string>
#include <regex>

int main ()
{
  std::string s ("this subject has a submarine as a subsequence");
  std::regex e ("\\b(sub)([^ ]*)");   // matches words beginning by "sub"

  typedef std::regex_token_iterator<std::string::iterator> iterator_type;

  iterator_type rti,rend;  // default constructor = end-of-sequence iterators

  std::cout << "entire matches:";
  for (rti = iterator_type (s.begin(),s.end(),e); rti!=rend; ++rti)
    std::cout << " [" << *rti << "]";
  std::cout << std::endl;

  std::cout << "2nd submatches:";
  for (rti = iterator_type (s.begin(),s.end(),e,2); rti!=rend; ++rti)
    std::cout << " [" << *rti << "]";
  std::cout << std::endl;

  std::cout << "1st and 2nd submatches:";
  int submatches[] = { 1, 2 };
  for (rti = iterator_type (s.begin(),s.end(),e,submatches); rti!=rend; ++rti)
    std::cout << " [" << *rti << "]";
  std::cout << std::endl;

  std::cout << "matches as splitters:";
  for (rti = iterator_type (s.begin(),s.end(),e,-1); rti!=rend; ++rti)
    std::cout << " [" << *rti << "]";
  std::cout << std::endl;

  return 0;
}


Output:
entire amtches: [subject] [submarine] [subsequence]
2nd submatches: [ject] [marine] [sequence]
1st and 2nd submatches: [sub] [ject] [sub] [marine] [sub] [sequence]
matches as splitters: [this ] [ has a ] [ as a ]

See also