summaryrefslogtreecommitdiffstats
path: root/base/scoped_vector.h
diff options
context:
space:
mode:
authorlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-28 01:54:15 +0000
committerlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-28 01:54:15 +0000
commit3b63f8f451afcf414a59c529f627c620e4d449d9 (patch)
tree2dcbab1c060b29a260c29bb19b67bf97a8293ca3 /base/scoped_vector.h
parent9174a108509c2aafe513da68e6e63fbc7df38c85 (diff)
downloadchromium_src-3b63f8f451afcf414a59c529f627c620e4d449d9.zip
chromium_src-3b63f8f451afcf414a59c529f627c620e4d449d9.tar.gz
chromium_src-3b63f8f451afcf414a59c529f627c620e4d449d9.tar.bz2
Move some files from base to base/memory.
raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/scoped_vector.h')
-rw-r--r--base/scoped_vector.h90
1 files changed, 0 insertions, 90 deletions
diff --git a/base/scoped_vector.h b/base/scoped_vector.h
deleted file mode 100644
index 9d372f3..0000000
--- a/base/scoped_vector.h
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef BASE_SCOPED_VECTOR_H_
-#define BASE_SCOPED_VECTOR_H_
-#pragma once
-
-#include <vector>
-
-#include "base/basictypes.h"
-#include "base/stl_util-inl.h"
-
-// ScopedVector wraps a vector deleting the elements from its
-// destructor.
-template <class T>
-class ScopedVector {
- public:
- typedef typename std::vector<T*>::iterator iterator;
- typedef typename std::vector<T*>::const_iterator const_iterator;
- typedef typename std::vector<T*>::reverse_iterator reverse_iterator;
- typedef typename std::vector<T*>::const_reverse_iterator
- const_reverse_iterator;
-
- ScopedVector() {}
- ~ScopedVector() { reset(); }
-
- std::vector<T*>* operator->() { return &v; }
- const std::vector<T*>* operator->() const { return &v; }
- T*& operator[](size_t i) { return v[i]; }
- const T* operator[](size_t i) const { return v[i]; }
-
- bool empty() const { return v.empty(); }
- size_t size() const { return v.size(); }
-
- reverse_iterator rbegin() { return v.rbegin(); }
- const_reverse_iterator rbegin() const { return v.rbegin(); }
- reverse_iterator rend() { return v.rend(); }
- const_reverse_iterator rend() const { return v.rend(); }
-
- iterator begin() { return v.begin(); }
- const_iterator begin() const { return v.begin(); }
- iterator end() { return v.end(); }
- const_iterator end() const { return v.end(); }
-
- void push_back(T* elem) { v.push_back(elem); }
-
- std::vector<T*>& get() { return v; }
- const std::vector<T*>& get() const { return v; }
- void swap(ScopedVector<T>& other) { v.swap(other.v); }
- void release(std::vector<T*>* out) {
- out->swap(v);
- v.clear();
- }
-
- void reset() { STLDeleteElements(&v); }
- void reserve(size_t capacity) { v.reserve(capacity); }
- 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;
-
- DISALLOW_COPY_AND_ASSIGN(ScopedVector);
-};
-
-#endif // BASE_SCOPED_VECTOR_H_