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