| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_COMMON_REF_COUNTED_UTIL_H__ | 5 #ifndef CHROME_COMMON_REF_COUNTED_UTIL_H__ |
| 6 #define CHROME_COMMON_REF_COUNTED_UTIL_H__ | 6 #define CHROME_COMMON_REF_COUNTED_UTIL_H__ |
| 7 | 7 |
| 8 #include "base/ref_counted.h" | 8 #include "base/ref_counted.h" |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 // RefCountedVector is just a vector wrapped up with | 11 // RefCountedVector is just a vector wrapped up with |
| 12 // RefCountedThreadSafe. | 12 // RefCountedThreadSafe. |
| 13 template<class T> | 13 template<class T> |
| 14 class RefCountedVector : | 14 class RefCountedVector : |
| 15 public base::RefCountedThreadSafe<RefCountedVector<T> > { | 15 public base::RefCountedThreadSafe<RefCountedVector<T> > { |
| 16 public: | 16 public: |
| 17 RefCountedVector() {} | 17 RefCountedVector() {} |
| 18 RefCountedVector(const std::vector<T>& initializer) | 18 RefCountedVector(const std::vector<T>& initializer) |
| 19 : data(initializer) {} | 19 : data(initializer) {} |
| 20 | 20 |
| 21 std::vector<T> data; | 21 std::vector<T> data; |
| 22 | 22 |
| 23 DISALLOW_COPY_AND_ASSIGN(RefCountedVector<T>); | 23 DISALLOW_COPY_AND_ASSIGN(RefCountedVector<T>); |
| 24 }; | 24 }; |
| 25 | 25 |
| 26 // RefCountedThreadSafeBytes represent a ref-counted blob of bytes. | |
| 27 // Useful for passing data between threads without copying. | |
| 28 typedef RefCountedVector<unsigned char> RefCountedBytes; | |
| 29 | |
| 30 #endif // CHROME_COMMON_REF_COUNTED_UTIL_H__ | 26 #endif // CHROME_COMMON_REF_COUNTED_UTIL_H__ |
| OLD | NEW |