X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fstructure%2FSGSharedPtr.hxx;h=c815a2fa566f94253282109ec6d5a76ce4489dad;hb=c955e61ba785a7b4699ed0a35f947fb661cab854;hp=b99a6a8f7f95bd64f993de5be65be825e0e1ba50;hpb=0f7b65a9216458b290113bae0ff75bd3ec4dce36;p=simgear.git diff --git a/simgear/structure/SGSharedPtr.hxx b/simgear/structure/SGSharedPtr.hxx index b99a6a8f..c815a2fa 100644 --- a/simgear/structure/SGSharedPtr.hxx +++ b/simgear/structure/SGSharedPtr.hxx @@ -88,7 +88,7 @@ public: { return T::count(_ptr); } bool valid(void) const - { return _ptr; } + { return _ptr != (T*)0; } void clear() { put(); } @@ -98,6 +98,8 @@ public: private: void assign(T* p) { get(p); put(); _ptr = p; } + void assignNonRef(T* p) + { put(); _ptr = p; } void get(const T* p) const { T::get(p); } @@ -111,4 +113,12 @@ private: friend class SGWeakPtr; }; +/** + * Support for boost::mem_fn + */ +template +T* get_pointer(SGSharedPtr const & p) +{ + return p.ptr(); +} #endif