std:: common_type < tuple-like >
      From cppreference.net
     
     
     
        
         C++
        
        
         
          
           
          
          
         
        
       
       
        
         Utilities library
        
        
         
          
           
            
          
          
          
         
        
       
       | 
 | 
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
        
         
          std::tuple
         
        
        
         
          
           
            
          
          
          
         
        
       
       | Member functions | ||||
| Non-member functions | ||||
| 
                
                 
                 
                 
                  
                   (until C++20)
                  
                 
                 
                  
                   (until C++20)
                  
                 
                 
                  
                   (until C++20)
                  
                 
                 
                  
                   (until C++20)
                  
                 
                 
                  
                   (until C++20)
                  
                 
                 
                  
                   (C++20)
                  
                 
                
                | ||||
| Helper concepts | ||||
| 
                
                 
                  
                   (C++23)
                  
                 
                
                | ||||
| Helper classes | ||||
| 
                
                 
                  
                   common_type
                   
                    <std::tuple>
                   
                  
                 
                
                
                
                 
                  
                   (C++23)
                  
                 
                
                | ||||
| 
                
                 
                  
                   (C++23)
                  
                 
                
                | ||||
| Deduction guides (C++17) | 
| 
           定义于头文件
            
            
             <tuple>
            
            | ||
| 
           
            
             template
            
            
             <
            
            tuple
            
             -
            
            like TTuple, tuple
            
             -
            
            like UTuple
            
             >
            
             
             requires
             
              /* 见下文 */
             
              | (C++23 起) | |
       两个
       
        
         
          tuple-like
         
        
       
       类型的公共类型是一个
       
        
         std::tuple
        
       
       ,由两个类型中所有对应元素类型对的公共类型组成。
      
给定
- 
        TTypes作为由每个整数 i 在区间[ 0,std:: tuple_size_v < TTuple >)内对应的 std:: tuple_element_t < i, TTuple > 序列构成的类型包,以及
- 
        UTypes作为由每个整数 i 在区间[ 0,std:: tuple_size_v < UTuple >)内对应的 std:: tuple_element_t < i, UTuple > 序列构成的类型包,
以下约束条件需要满足:
- 
        TTuple或UTuple是 std::tuple 的特化类型。
- std:: is_same_v < TTuple, std:: decay_t < TTuple >> 为 true 。
- std:: is_same_v < UTuple, std:: decay_t < UTuple >> 为 true 。
- 
        
         
          
           
            std::
            
             tuple_size_v
            
           
          
          
           <
          
          TTuple
          
           >
          
         
        
        等于
        
         
          
           
            std::
            
             tuple_size_v
            
           
          
          
           <
          
          UTuple
          
           >
          
         
        
        (
        TTuple与UTuple具有相同数量的元素)。
- std:: tuple < std:: common_type_t < TTypes, UTypes > ... > 表示一个类型。
成员类型
| 成员类型 | 定义 | 
| 
          type
          | std:: tuple < std:: common_type_t < TTypes, UTypes > ... > | 
示例
| 本节内容不完整 原因:缺少示例 | 
参见
| 
           
            
             
              (C++11)
             
            
           
           | 确定一组类型的公共类型 (类模板) | 
| 
           
            
             
              (C++23)
             
            
           
           | 确定两个 
          pair
         的公共类型(类模板特化) |