OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 BASE_MEMORY_REF_COUNTED_H_ | 5 #ifndef BASE_MEMORY_REF_COUNTED_H_ |
6 #define BASE_MEMORY_REF_COUNTED_H_ | 6 #define BASE_MEMORY_REF_COUNTED_H_ |
7 | 7 |
8 #include <cassert> | 8 #include <cassert> |
9 #include <iosfwd> | 9 #include <iosfwd> |
10 | 10 |
11 #include "base/atomic_ref_count.h" | 11 #include "base/atomic_ref_count.h" |
12 #include "base/base_export.h" | 12 #include "base/base_export.h" |
13 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
14 #ifndef NDEBUG | 14 #ifndef NDEBUG |
15 #include "base/logging.h" | 15 #include "base/logging.h" |
16 #endif | 16 #endif |
17 #include "base/threading/thread_collision_warner.h" | 17 #include "base/threading/thread_collision_warner.h" |
18 #include "build/build_config.h" | 18 #include "build/build_config.h" |
19 | 19 |
20 #if defined(OS_LINUX) || (defined(OS_MACOSX) && !defined(OS_IOS)) || defined(OS_
ANDROID) | 20 #if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_IOS) || defined(OS_AND
ROID) |
21 #define DISABLE_SCOPED_REFPTR_CONVERSION_OPERATOR | 21 #define DISABLE_SCOPED_REFPTR_CONVERSION_OPERATOR |
22 #endif | 22 #endif |
23 | 23 |
24 namespace base { | 24 namespace base { |
25 | 25 |
26 namespace subtle { | 26 namespace subtle { |
27 | 27 |
28 class BASE_EXPORT RefCountedBase { | 28 class BASE_EXPORT RefCountedBase { |
29 public: | 29 public: |
30 bool HasOneRef() const { return ref_count_ == 1; } | 30 bool HasOneRef() const { return ref_count_ == 1; } |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 return !operator==(lhs, rhs); | 411 return !operator==(lhs, rhs); |
412 } | 412 } |
413 | 413 |
414 template <typename T> | 414 template <typename T> |
415 std::ostream& operator<<(std::ostream& out, const scoped_refptr<T>& p) { | 415 std::ostream& operator<<(std::ostream& out, const scoped_refptr<T>& p) { |
416 return out << p.get(); | 416 return out << p.get(); |
417 } | 417 } |
418 #endif // defined(DISABLE_SCOPED_REFPTR_CONVERSION_OPERATOR) | 418 #endif // defined(DISABLE_SCOPED_REFPTR_CONVERSION_OPERATOR) |
419 | 419 |
420 #endif // BASE_MEMORY_REF_COUNTED_H_ | 420 #endif // BASE_MEMORY_REF_COUNTED_H_ |
OLD | NEW |