1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_COMMON_REF_COUNTED_UTIL_H__ 6 #define CHROME_COMMON_REF_COUNTED_UTIL_H__ 7 8 #include "base/memory/ref_counted.h" 9 #include <vector> 10 11 // RefCountedVector is just a vector wrapped up with 12 // RefCountedThreadSafe. 13 template<class T> 14 class RefCountedVector 15 : public base::RefCountedThreadSafe<RefCountedVector<T> > { 16 public: 17 RefCountedVector() {} 18 explicit RefCountedVector(const std::vector<T>& initializer) 19 : data(initializer) {} 20 21 std::vector<T> data; 22 23 DISALLOW_COPY_AND_ASSIGN(RefCountedVector<T>); 24 }; 25 26 #endif // CHROME_COMMON_REF_COUNTED_UTIL_H__ 27