compilation fixes for standard-conformant compilers and added back implicit conversion of wxWeakRef<T> to T* (part of patch 1870445)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -207,21 +207,14 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
virtual ~wxWeakRef() { Release(); }
|
||||
virtual ~wxWeakRef() { this->Release(); }
|
||||
|
||||
// Smart pointer functions
|
||||
T& operator*() const { return *m_pobj; }
|
||||
T* operator->() const { return m_pobj; }
|
||||
T& operator*() const { return *this->m_pobj; }
|
||||
T* operator->() const { return this->m_pobj; }
|
||||
|
||||
T* get() const { return m_pobj; }
|
||||
|
||||
// test for pointer validity: defining conversion to unspecified_bool_type
|
||||
// and not more obvious bool to avoid implicit conversions to integer types
|
||||
typedef T *(wxWeakRef<T>::*unspecified_bool_type)() const;
|
||||
operator unspecified_bool_type() const
|
||||
{
|
||||
return this->m_pobj ? &wxWeakRef<T>::get : NULL;
|
||||
}
|
||||
T* get() const { return this->m_pobj; }
|
||||
operator T*() const { return get(); }
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user