std::common_type<std::pair>
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <utility>
  | 
||
|   template< class T1, class T2, class U1, class U2 >   requires requires { typename std::pair<std::common_type_t<T1, U1>,  | 
(since C++23) | |
The common type of two pairs is a pair of both common types of corresponding element types of both pairs.
The common type is defined only if both pairs of corresponding element types have common types.
Member types
| Member type | Definition | 
  type
 | 
std::pair<std::common_type_t<T1, U1>, std::common_type_t<T2, U2>> | 
Example
| This section is incomplete Reason: no example  | 
See also
|    (C++11)  | 
   determines the common type of a group of types   (class template)  | 
|    (C++23)  | 
  determines the common type of a tuple and a tuple-like type (class template specialization)  |