File tree Expand file tree Collapse file tree 1 file changed +7
-11
lines changed Expand file tree Collapse file tree 1 file changed +7
-11
lines changed Original file line number Diff line number Diff line change @@ -194,20 +194,16 @@ template <typename... Ts> struct DenseMapInfo<std::tuple<Ts...>> {
194194    return  getHashValueImpl<0 >(values);
195195  }
196196
197-   template  <unsigned  I>
198-   static  bool  isEqualImpl (const  Tuple &lhs, const  Tuple &rhs) {
199-     if  constexpr  (I == sizeof ...(Ts)) {
200-       return  true ;
201-     } else  {
202-       using  EltType = std::tuple_element_t <I, Tuple>;
203-       return  DenseMapInfo<EltType>::isEqual (std::get<I>(lhs),
204-                                             std::get<I>(rhs)) &&
205-              isEqualImpl<I + 1 >(lhs, rhs);
206-     }
197+   template  <std::size_t ... Is>
198+   static  bool  isEqualImpl (const  Tuple &lhs, const  Tuple &rhs,
199+                           std::index_sequence<Is...>) {
200+     return  (DenseMapInfo<std::tuple_element_t <Is, Tuple>>::isEqual (
201+                 std::get<Is>(lhs), std::get<Is>(rhs)) &&
202+             ...);
207203  }
208204
209205  static  bool  isEqual (const  Tuple &lhs, const  Tuple &rhs) {
210-     return  isEqualImpl< 0 > (lhs, rhs);
206+     return  isEqualImpl (lhs, rhs, std::index_sequence_for<Ts...>{} );
211207  }
212208};
213209
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments