From 934ad32e529f8d2f33b8ad561277199b27d4042a Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 12 Jul 2017 15:29:34 +0200 Subject: [PATCH] debugPtr import/export --- src/misc/debugPtr.cpp | 1 + src/misc/pv/debugPtr.h | 14 ++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/misc/debugPtr.cpp b/src/misc/debugPtr.cpp index c9d45f2..ac8043b 100644 --- a/src/misc/debugPtr.cpp +++ b/src/misc/debugPtr.cpp @@ -5,6 +5,7 @@ #if __cplusplus>=201103L +#define epicsExportSharedSymbols #include namespace epics { diff --git a/src/misc/pv/debugPtr.h b/src/misc/pv/debugPtr.h index 626265a..7d3e3f0 100644 --- a/src/misc/pv/debugPtr.h +++ b/src/misc/pv/debugPtr.h @@ -22,6 +22,8 @@ #include +#include + //! User code should test this macro //! before calling epics::debug::shared_ptr::show_refs() #define HAVE_SHOW_REFS @@ -32,7 +34,7 @@ namespace debug { struct tracker; class shared_ptr_base; -class ptr_base { +class epicsShareClass ptr_base { friend class shared_ptr_base; template friend class shared_ptr; @@ -54,12 +56,12 @@ public: void show_refs(std::ostream&, bool self=true, bool weak=false) const; void spy_refs(ref_set_t&) const; }; -class weak_ptr_base : public ptr_base { +class epicsShareClass weak_ptr_base : public ptr_base { protected: weak_ptr_base() {} weak_ptr_base(const track_t& track) :ptr_base(track) {} }; -class shared_ptr_base : public ptr_base { +class epicsShareClass shared_ptr_base : public ptr_base { protected: shared_ptr_base() noexcept #ifndef EXCEPT_USE_NONE @@ -102,7 +104,7 @@ template class enable_shared_from_this; template -void +inline void do_enable_shared_from_this(const shared_ptr& dest, enable_shared_from_this* self ); @@ -299,7 +301,7 @@ public: }; template -void +inline void do_enable_shared_from_this(const shared_ptr& dest, enable_shared_from_this* self ) @@ -313,7 +315,7 @@ do_enable_shared_from_this(const shared_ptr& dest, }} // namespace epics::debug template -std::ostream& operator<<(std::ostream& strm, const epics::debug::shared_ptr& ptr) +inline std::ostream& operator<<(std::ostream& strm, const epics::debug::shared_ptr& ptr) { strm<