std:: basic_common_reference < tuple-like >
| 
           Defined in header
            
            
             <tuple>
            
            | ||
| 
           
            
             template
            
            
             <
            
            tuple
            
             -
            
            like TTuple, tuple
            
             -
            
            like UTuple,
             
             
              template
             
             
              <
             
             
              class
             
             
              >
             
             
              class
             
             TQual,
             
              template
             
             
              <
             
             
              class
             
             
              >
             
             
              class
             
             UQual
             
              >
             
              | (since C++23) | |
       The common reference type of two
       
        
         
          tuple-like
         
        
       
       types is a
       
        
         std::tuple
        
       
       consists of the common reference types of all corresponding element type pairs of both types, where the cv and reference qualifiers on the tuple-like types are applied to their element types.
      
Given
- 
        TTypesas the pack formed by the sequence of std:: tuple_element_t < i, TTuple > for every integer i in[ 0 ,std:: tuple_size_v < TTuple >), and
- 
        UTypesas the pack formed by the sequence of std:: tuple_element_t < i, UTuple > for every integer i in[ 0 ,std:: tuple_size_v < UTuple >),
the following constraints need to be satisfied:
- 
        TTupleorUTupleis a std::tuple specialization.
- std:: is_same_v < TTuple, std:: decay_t < TTuple >> is true .
- std:: is_same_v < UTuple, std:: decay_t < UTuple >> is true .
- 
        
         
          
           
            std::
            
             tuple_size_v
            
           
          
          
           <
          
          TTuple
          
           >
          
         
        
        equals
        
         
          
           
            std::
            
             tuple_size_v
            
           
          
          
           <
          
          UTuple
          
           >
          
         
        
        (
        TTupleandUTuplehave the same number of elements).
- std:: tuple < std:: common_reference_t < TQual < TTypes > ..., UQual < UTypes >> ... > denotes a type.
Member types
| Member type | Definition | 
| 
          type
          | std:: tuple < std:: common_reference_t < TQual < TTypes > ..., UQual < UTypes >> ... > | 
Example
| This section is incomplete Reason: no example | 
See also
| determines the common reference type of a group of types (class template) | |
| determines the common reference type of two 
          pair
         s(class template specialization) |