In pre-final drafts of C++11, a range-based for loop could specify the range to iterate over via a pair of iterators. This made it easy to iterate over all matches for a regular expression. The ability to specify a range using a pair of iterators was later removed, and it is not present in C++11. Is there still a straightforward way to iterate over all matches for a particular regular expression? I'd like to be able to do something like this:

```
std::regex begin(" 1?2?3?4* ");
std::regex end;

for(auto& match: std::pair(begin, end)) process(*match);

```

Is there support for this kind of thing in C++11?