Index: base/scoped_vector.h |
diff --git a/base/scoped_vector.h b/base/scoped_vector.h |
index b797078572b8acbfe9be1864af17927c890dddea..b9d23fe2f2bdc4b3f5060b405ab116b96f6243ea 100644 |
--- a/base/scoped_vector.h |
+++ b/base/scoped_vector.h |
@@ -56,6 +56,30 @@ class ScopedVector { |
void reset() { STLDeleteElements(&v); } |
void resize(size_t new_size) { v.resize(new_size); } |
+ // Lets the ScopedVector take ownership of |x|. |
+ iterator insert(iterator position, T* x) { |
+ return v.insert(position, x); |
+ } |
+ |
+ iterator erase(iterator position) { |
+ delete *position; |
+ return v.erase(position); |
+ } |
+ |
+ iterator erase(iterator first, iterator last) { |
+ STLDeleteContainerPointers(first, last); |
+ return v.erase(first, last); |
+ } |
+ |
+ // Like |erase()|, but doesn't delete the element at |position|. |
+ iterator weak_erase(iterator position) { |
+ return v.erase(position); |
+ } |
+ |
+ // Like |erase()|, but doesn't delete the elements in [first, last). |
+ iterator weak_erase(iterator first, iterator last) { |
+ return v.erase(first, last); |
+ } |
private: |
std::vector<T*> v; |