2 #ifndef _YI_WEAK_PTR_H_ 3 #define _YI_WEAK_PTR_H_ 58 template<
typename YI_PTR_TYPE>
62 template<
typename YI_OTHER_PTR_TYPE>
friend class CYIWeakPtr;
80 template<
typename YI_OTHER_PTR_TYPE>
93 CYIWeakPtr(
const std::shared_ptr<YI_PTR_TYPE> &rOther);
99 template<
typename YI_OTHER_PTR_TYPE>
100 CYIWeakPtr(
const std::weak_ptr<YI_OTHER_PTR_TYPE> &rOther);
106 template<
typename YI_OTHER_PTR_TYPE>
155 YI_PTR_TYPE *
Get()
const;
279 operator bool()
const;
285 template<
typename YI_OTHER_PTR_TYPE>
286 operator std::weak_ptr<YI_OTHER_PTR_TYPE>()
const;
300 template<
typename YI_OTHER_PTR_TYPE>
315 template<
typename YI_OTHER_PTR_TYPE>
323 template<
typename YI_OTHER_PTR_TYPE>
327 std::weak_ptr<YI_PTR_TYPE> m_pWeak;
332 #include "smartptr/YiWeakPtr.inl"
uint32_t GetUseCount() const
The CYIWeakPtr is a smart pointer that does not take any ownership of a dynamically allocated object...
Definition: YiSharedPtr.h:20
CYIWeakPtr< YI_PTR_TYPE > & operator=(const CYIWeakPtr< YI_PTR_TYPE > &rOther)
The CYISharedPtr is a smart pointer that takes a shared ownership of a dynamically allocated object...
Definition: YiSharedPtr.h:118
YI_PTR_TYPE * Get() const
CYISharedPtr< YI_PTR_TYPE > ToStrongPtr() const
void Swap(CYIWeakPtr< YI_PTR_TYPE > &rPtr)