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]