summaryrefslogtreecommitdiffstats
path: root/base/scoped_nsobject.h
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-16 18:25:46 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-16 18:25:46 +0000
commit84f78468c2d465279280bc2061c4d019ad765a48 (patch)
treec64f343a73212b9cdaa016fdf0e6d320c6084a3f /base/scoped_nsobject.h
parentc5a6ff1451d50cf5649b1920066331daefcc690b (diff)
downloadchromium_src-84f78468c2d465279280bc2061c4d019ad765a48.zip
chromium_src-84f78468c2d465279280bc2061c4d019ad765a48.tar.gz
chromium_src-84f78468c2d465279280bc2061c4d019ad765a48.tar.bz2
patch from issue 2762014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49984 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/scoped_nsobject.h')
-rw-r--r--base/scoped_nsobject.h35
1 files changed, 21 insertions, 14 deletions
diff --git a/base/scoped_nsobject.h b/base/scoped_nsobject.h
index bde2753..7e544c9 100644
--- a/base/scoped_nsobject.h
+++ b/base/scoped_nsobject.h
@@ -48,13 +48,8 @@ class scoped_nsobject {
object_ = object;
}
- bool operator==(NST* that) const {
- return object_ == that;
- }
-
- bool operator!=(NST* that) const {
- return object_ != that;
- }
+ bool operator==(NST* that) const { return object_ == that; }
+ bool operator!=(NST* that) const { return object_ != that; }
operator NST*() const {
return object_;
@@ -85,6 +80,23 @@ class scoped_nsobject {
DISALLOW_COPY_AND_ASSIGN(scoped_nsobject);
};
+// Free functions
+template <class C>
+void swap(scoped_nsobject<C>& p1, scoped_nsobject<C>& p2) {
+ p1.swap(p2);
+}
+
+template <class C>
+bool operator==(C* p1, const scoped_nsobject<C>& p2) {
+ return p1 == p2.get();
+}
+
+template <class C>
+bool operator!=(C* p1, const scoped_nsobject<C>& p2) {
+ return p1 != p2.get();
+}
+
+
// Specialization to make scoped_nsobject<id> work.
template<>
class scoped_nsobject<id> {
@@ -109,13 +121,8 @@ class scoped_nsobject<id> {
object_ = object;
}
- bool operator==(id that) const {
- return object_ == that;
- }
-
- bool operator!=(id that) const {
- return object_ != that;
- }
+ bool operator==(id that) const { return object_ == that; }
+ bool operator!=(id that) const { return object_ != that; }
operator id() const {
return object_;