Ver Fonte

Use llvm::map_range() instead of using mapped_iterator directly (#4997)

map_range() is a nice helper for constructing a pair of
mapped_iterators.
Dana Jansens há 1 ano atrás
pai
commit
210c26e369
2 ficheiros alterados com 2 adições e 12 exclusões
  1. 1 6
      toolchain/base/value_store.h
  2. 1 6
      toolchain/sem_ir/constant.h

+ 1 - 6
toolchain/base/value_store.h

@@ -116,12 +116,7 @@ class ValueStore
       auto [index, value] = pair;
       return std::pair<IdT, ConstRefType>(IdT(index), value);
     };
-    auto range = llvm::enumerate(values_);
-    using Iter =
-        llvm::mapped_iterator<decltype(range.begin()), decltype(index_to_id)>;
-    auto begin = Iter(range.begin(), index_to_id);
-    auto end = Iter(range.end(), index_to_id);
-    return llvm::make_range(begin, end);
+    return llvm::map_range(llvm::enumerate(values_), index_to_id);
   }
 
  private:

+ 1 - 6
toolchain/sem_ir/constant.h

@@ -166,12 +166,7 @@ class ConstantValueStore {
       auto [index, value] = pair;
       return std::pair<InstId, ConstantId>(InstId(index), value);
     };
-    auto range = llvm::enumerate(values_);
-    using Iter =
-        llvm::mapped_iterator<decltype(range.begin()), decltype(index_to_id)>;
-    auto begin = Iter(range.begin(), index_to_id);
-    auto end = Iter(range.end(), index_to_id);
-    return llvm::make_range(begin, end);
+    return llvm::map_range(llvm::enumerate(values_), index_to_id);
   }
 
   // Returns the symbolic constants mapping as an ArrayRef whose keys are