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.
13template<class T>
14class 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