Make the weak pointer work. Some bits were left when importing.
Modified Files: SGSharedPtr.hxx SGWeakPtr.hxx
This commit is contained in:
@@ -98,6 +98,8 @@ public:
|
|||||||
private:
|
private:
|
||||||
void assign(T* p)
|
void assign(T* p)
|
||||||
{ get(p); put(); _ptr = p; }
|
{ get(p); put(); _ptr = p; }
|
||||||
|
void assignNonRef(T* p)
|
||||||
|
{ put(); _ptr = p; }
|
||||||
|
|
||||||
void get(const T* p) const
|
void get(const T* p) const
|
||||||
{ T::get(p); }
|
{ T::get(p); }
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
SGWeakPtr(const SGWeakPtr& p) : mWeakData(p.mWeakData)
|
SGWeakPtr(const SGWeakPtr& p) : mWeakData(p.mWeakData)
|
||||||
{ }
|
{ }
|
||||||
|
SGWeakPtr(T* ptr)
|
||||||
|
{ assign(ptr); }
|
||||||
template<typename U>
|
template<typename U>
|
||||||
SGWeakPtr(const SGSharedPtr<U>& p)
|
SGWeakPtr(const SGSharedPtr<U>& p)
|
||||||
{ SGSharedPtr<T> sharedPtr = p; assign(sharedPtr.get()); }
|
{ SGSharedPtr<T> sharedPtr = p; assign(sharedPtr.get()); }
|
||||||
|
|||||||
Reference in New Issue
Block a user