std::match_results::match_results
From cppreference.com
                    
                                        
                    < cpp | regex | match results
                    
                                                            
                    | explicit match_results( const Allocator& a = Allocator() ); | (1) | (since C++11) | 
| match_results( const match_results& rhs ); | (2) | (since C++11) | 
| match_results( match_results&& rhs ); | (3) | (since C++11) | 
1) Default-constructor. Constructs a match result with no established result state (ready() != true).
2) Copy-constructor. Constructs a match result with a copy of 
rhs.3) Move-constructor. Constructs a match result with the contents of 
rhs using move semantics. rhs is in valid, but unspecified state after the call.[edit] Parameters
| a | - | allocator to use for all memory allocations of this container | 
| rhs | - | another match_result to use as source to initialize the match_result with | 
[edit] Exceptions
1-2) (none)
3) 
noexcept specification:  
noexcept
  

