ekiga r7387 - trunk/lib/gmref



Author: jpuydt
Date: Thu Nov 20 13:12:07 2008
New Revision: 7387
URL: http://svn.gnome.org/viewvc/ekiga?rev=7387&view=rev

Log:
Modified gmref_ptr slightly -- no real change

Modified:
   trunk/lib/gmref/gmref.h

Modified: trunk/lib/gmref/gmref.h
==============================================================================
--- trunk/lib/gmref/gmref.h	(original)
+++ trunk/lib/gmref/gmref.h	Thu Nov 20 13:12:07 2008
@@ -88,6 +88,8 @@
 
   T* get () const;
 
+  void swap (gmref_ptr& other);
+
   void reset ();
 
   operator bool () const;
@@ -148,12 +150,8 @@
 gmref_ptr<T>&
 gmref_ptr<T>::operator= (const gmref_ptr<T>& other)
 {
-  if (this != &other) {
-
-    reset ();
-    obj = other.obj;
-    gmref_inc (obj);
-  }
+  gmref_ptr<T> temp(other);
+  this->swap (temp);
 
   return *this;
 }
@@ -180,6 +178,15 @@
 }
 
 template<typename T>
+void
+gmref_ptr<T>::swap (gmref_ptr<T>& other)
+{
+  T* temp = obj;
+  obj = other.obj;
+  other.obj = temp;
+}
+
+template<typename T>
 gmref_ptr<T>::operator bool () const
 {
   return obj != 0;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]