On Tuesday, 5 April 2016 00:50:13 UTC+2, Hergen Lehmann wrote:
> Hello,
>
> i am currently in the process of refactoring some old code into
> c++11/14. Part of that code is a regex-like pattern matching mechanism,
> which (due to compatibility reasons) should be kept in place for now.
>
> However, in preparation of a future transition to std::regex, i would
> like to go ahead, and store the results in a std::match_results object.
>
> Unfortunately, i can't find any setter methods or constructors in this
> class, except for the default and copy constructors. Is there any
> (preferably portable) way to set the contents (sub-matches, prefix,
> suffix) of a std::match_results object without going through
> std::basic_regex?
I think you will find that setter methods are regarded as implementation
details, and so are not standardized.
I think your best bet is to write a class with an interface like
std::match_results, and then make rigorous use of `auto` in the calling
code so you can just swap in the standard class later. (Alternatively, use
a typedef that can be toggled).