Remove my bogus MapVector::erase() with a narrower ::pop_back(), and add a unit test.
[oota-llvm.git] / include / llvm / ADT / MapVector.h
index 405fc43978cfbea86fa499e35729bb722694b28f..f6fcb0888de32595b699f0a5074b80721bfd1bbe 100644 (file)
@@ -119,14 +119,11 @@ public:
                             (Vector.begin() + Pos->second);
   }
 
-  /// \brief Erase entry with the given key.
-  void erase(const KeyT &key) {
-    typename MapType::iterator Pos = Map.find(key);
-    if (Pos == Map.end())
-      return;
-
-    Vector.erase(Vector.begin() + Pos->second);
+  /// \brief Remove the last element from the vector.
+  void pop_back() {
+    typename MapType::iterator Pos = Map.find(Vector.back().first);
     Map.erase(Pos);
+    Vector.pop_back();
   }
 };