Author: astitcher
Date: Tue May 22 20:16:18 2012
New Revision: 1341608

URL: http://svn.apache.org/viewvc?rev=1341608&view=rev
Log:
QPID-3004: Keep the code compatible with clang C++ compiler (and probably gcc 
4.7 too)
Fix up intrusive_ptr_add_ref(RefCounted*)/intrusive_ptr_release(RefCounted*) so 
they are
now found by argument dependent lookup.

Trivial: Added missing newline at end of file

Modified:
    qpid/trunk/qpid/cpp/src/qmf/AgentSession.cpp
    qpid/trunk/qpid/cpp/src/qmf/PrivateImplRef.h
    qpid/trunk/qpid/cpp/src/qpid/RefCounted.h
    qpid/trunk/qpid/cpp/src/qpid/client/PrivateImplRef.h
    qpid/trunk/qpid/cpp/src/qpid/messaging/PrivateImplRef.h

Modified: qpid/trunk/qpid/cpp/src/qmf/AgentSession.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qmf/AgentSession.cpp?rev=1341608&r1=1341607&r2=1341608&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qmf/AgentSession.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qmf/AgentSession.cpp Tue May 22 20:16:18 2012
@@ -1028,4 +1028,4 @@ const AgentSessionImpl& AgentSessionImpl
     return *session.impl;
 }
 
-}
\ No newline at end of file
+}

Modified: qpid/trunk/qpid/cpp/src/qmf/PrivateImplRef.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qmf/PrivateImplRef.h?rev=1341608&r1=1341607&r2=1341608&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qmf/PrivateImplRef.h (original)
+++ qpid/trunk/qpid/cpp/src/qmf/PrivateImplRef.h Tue May 22 20:16:18 2012
@@ -76,15 +76,15 @@ template <class T> class PrivateImplRef 
     /** Set the implementation pointer in a handle */
     static void set(T& t, const intrusive_ptr& p) {
         if (t.impl == p) return;
-        if (t.impl) boost::intrusive_ptr_release(t.impl);
+        if (t.impl) intrusive_ptr_release(t.impl);
         t.impl = p.get();
-        if (t.impl) boost::intrusive_ptr_add_ref(t.impl);
+        if (t.impl) intrusive_ptr_add_ref(t.impl);
     }
 
     // Helper functions to implement the ctor, dtor, copy, assign
-    static void ctor(T& t, Impl* p) { t.impl = p; if (p) 
boost::intrusive_ptr_add_ref(p); }
+    static void ctor(T& t, Impl* p) { t.impl = p; if (p) 
intrusive_ptr_add_ref(p); }
     static void copy(T& t, const T& x) { if (&t == &x) return; t.impl = 0; 
assign(t, x); }
-    static void dtor(T& t) { if(t.impl) boost::intrusive_ptr_release(t.impl); }
+    static void dtor(T& t) { if(t.impl) intrusive_ptr_release(t.impl); }
     static T& assign(T& t, const T& x) { set(t, get(x)); return t;}
 };
 

Modified: qpid/trunk/qpid/cpp/src/qpid/RefCounted.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/RefCounted.h?rev=1341608&r1=1341607&r2=1341608&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/RefCounted.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/RefCounted.h Tue May 22 20:16:18 2012
@@ -49,15 +49,11 @@ protected:
 };
 
 
-} // namespace qpid
-
 // intrusive_ptr support.
-namespace boost {
-template <typename T>
-inline void intrusive_ptr_add_ref(const T* p) { p->qpid::RefCounted::addRef(); 
}
-template <typename T>
-inline void intrusive_ptr_release(const T* p) { 
p->qpid::RefCounted::release(); }
-}
+inline void intrusive_ptr_add_ref(const RefCounted* p) { p->addRef(); }
+inline void intrusive_ptr_release(const RefCounted* p) { p->release(); }
+
+} // namespace qpid
 
 
 #endif  /*!QPID_REFCOUNTED_H*/

Modified: qpid/trunk/qpid/cpp/src/qpid/client/PrivateImplRef.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/PrivateImplRef.h?rev=1341608&r1=1341607&r2=1341608&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/PrivateImplRef.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/PrivateImplRef.h Tue May 22 20:16:18 
2012
@@ -77,15 +77,15 @@ template <class T> class PrivateImplRef 
 
     static void set(T& t, const intrusive_ptr& p) {
         if (t.impl == p) return;
-        if (t.impl) boost::intrusive_ptr_release(t.impl); 
+        if (t.impl) intrusive_ptr_release(t.impl);
         t.impl = p.get();
-        if (t.impl) boost::intrusive_ptr_add_ref(t.impl); 
+        if (t.impl) intrusive_ptr_add_ref(t.impl);
     }
 
     // Helper functions to implement the ctor, dtor, copy, assign
-    static void ctor(T& t, Impl* p) { t.impl = p; if (p) 
boost::intrusive_ptr_add_ref(p); }
+    static void ctor(T& t, Impl* p) { t.impl = p; if (p) 
intrusive_ptr_add_ref(p); }
     static void copy(T& t, const T& x) { if (&t == &x) return; t.impl = 0; 
assign(t, x); }
-    static void dtor(T& t) { if(t.impl) boost::intrusive_ptr_release(t.impl); }
+    static void dtor(T& t) { if(t.impl) intrusive_ptr_release(t.impl); }
     static T& assign(T& t, const T& x) { set(t, get(x)); return t;}
 };
 

Modified: qpid/trunk/qpid/cpp/src/qpid/messaging/PrivateImplRef.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/messaging/PrivateImplRef.h?rev=1341608&r1=1341607&r2=1341608&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/messaging/PrivateImplRef.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/messaging/PrivateImplRef.h Tue May 22 20:16:18 
2012
@@ -77,15 +77,15 @@ template <class T> class PrivateImplRef 
     /** Set the implementation pointer in a handle */
     static void set(T& t, const intrusive_ptr& p) {
         if (t.impl == p) return;
-        if (t.impl) boost::intrusive_ptr_release(t.impl);
+        if (t.impl) intrusive_ptr_release(t.impl);
         t.impl = p.get();
-        if (t.impl) boost::intrusive_ptr_add_ref(t.impl);
+        if (t.impl) intrusive_ptr_add_ref(t.impl);
     }
 
     // Helper functions to implement the ctor, dtor, copy, assign
-    static void ctor(T& t, Impl* p) { t.impl = p; if (p) 
boost::intrusive_ptr_add_ref(p); }
+    static void ctor(T& t, Impl* p) { t.impl = p; if (p) 
intrusive_ptr_add_ref(p); }
     static void copy(T& t, const T& x) { if (&t == &x) return; t.impl = 0; 
assign(t, x); }
-    static void dtor(T& t) { if(t.impl) boost::intrusive_ptr_release(t.impl); }
+    static void dtor(T& t) { if(t.impl) intrusive_ptr_release(t.impl); }
     static T& assign(T& t, const T& x) { set(t, get(x)); return t;}
 };
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to