diff --git a/src/misc/debugPtr.cpp b/src/misc/debugPtr.cpp index 62146e0..3cd3210 100644 --- a/src/misc/debugPtr.cpp +++ b/src/misc/debugPtr.cpp @@ -35,7 +35,7 @@ void shared_ptr_base::track_new() } // create new tracker if ptr!=nullptr, otherwise clear -void shared_ptr_base::track_new(void* ptr) +void shared_ptr_base::track_new(const void* ptr) { track_clear(); if(ptr){ diff --git a/src/misc/pv/debugPtr.h b/src/misc/pv/debugPtr.h index 479eafc..3ce0771 100644 --- a/src/misc/pv/debugPtr.h +++ b/src/misc/pv/debugPtr.h @@ -78,7 +78,7 @@ protected: // add ourselves to tracker void track_new(); // create new tracker if ptr!=nullptr, otherwise clear - void track_new(void* ptr); + void track_new(const void* ptr); // copy tracker and add ourself void track_assign(const shared_ptr_base& o); void track_clear(); @@ -286,6 +286,7 @@ public: long use_count() const noexcept { return real.use_count(); } bool unique() const noexcept { return real.unique(); } + bool expired() const noexcept { return real.expired(); } }; template @@ -316,13 +317,12 @@ do_enable_shared_from_this(const shared_ptr& dest, self->xxInternalSelf = actual; } -}} // namespace epics::debug - template -inline std::ostream& operator<<(std::ostream& strm, const epics::debug::shared_ptr& ptr) +inline std::ostream& operator<<(std::ostream& strm, const shared_ptr& ptr) { strm<