• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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:
RefCountedVector()17   RefCountedVector() {}
RefCountedVector(const std::vector<T> & initializer)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