2 #ifndef _YI_WEAK_ARRAY_H_ 3 #define _YI_WEAK_ARRAY_H_ 94 template<
typename YI_ARRAY_TYPE>
115 m_pPtr(rOther.m_pPtr)
124 template<
typename YI_OTHER_ARRAY_TYPE>
126 m_pPtr(rOther.m_pPtr)
135 m_pPtr(rOther.m_pPtr)
144 template<
typename YI_OTHER_ARRAY_TYPE>
146 m_pPtr(rOther.m_pPtr)
162 inline YI_ARRAY_TYPE *
Get()
const 188 m_pPtr.
Swap(rPtr.m_pPtr);
222 inline operator YI_UNSPECIFIED_BOOL_TYPE()
const 234 m_pPtr = rOther.m_pPtr;
243 template<
typename YI_OTHER_PTR_TYPE>
246 m_pPtr = rOther.m_pPtr;
258 m_pPtr = rOther.m_pPtr;
267 template<
typename YI_OTHER_PTR_TYPE>
270 m_pPtr = rOther.m_pPtr;
294 template<
typename YI_L_ARRAY_TYPE,
typename YI_R_ARRAY_TYPE>
297 return rLhs.
Get() == rRhs.
Get();
300 template<
typename YI_L_ARRAY_TYPE,
typename YI_R_ARRAY_TYPE>
303 return rLhs.
Get() != rRhs.
Get();
306 template<
typename YI_L_ARRAY_TYPE,
typename YI_R_ARRAY_TYPE>
309 return rLhs.
Get() == rRhs.
Get();
312 template<
typename YI_L_ARRAY_TYPE,
typename YI_R_ARRAY_TYPE>
315 return rLhs.
Get() != rRhs.
Get();
318 template<
typename YI_L_PTR_TYPE,
typename YI_R_PTR_TYPE>
321 return rLhs.
Get() == pRhs;
324 template<
typename YI_L_PTR_TYPE,
typename YI_R_PTR_TYPE>
327 return rLhs.
Get() != pRhs;
330 template<
typename YI_L_PTR_TYPE,
typename YI_R_PTR_TYPE>
333 return pLhs == rRhs.
Get();
336 template<
typename YI_L_PTR_TYPE,
typename YI_R_PTR_TYPE>
339 return pLhs != rRhs.
Get();
CYIWeakArray(const CYIWeakArray< YI_ARRAY_TYPE > &rOther)
Definition: YiWeakArray.h:114
CYIWeakArray(const CYISharedArray< YI_OTHER_ARRAY_TYPE > &rOther)
Definition: YiWeakArray.h:145
uint32_t GetUseCount() const
CYIWeakArray(const CYISharedArray< YI_ARRAY_TYPE > &rOther)
Definition: YiWeakArray.h:134
CYISharedArray< YI_ARRAY_TYPE > ToStrongArray() const
Definition: YiWeakArray.h:283
bool operator!() const
Definition: YiWeakArray.h:194
The CYISharedArray is a smart pointer that takes shared ownership of a dynamically allocated array of...
Definition: YiSharedArray.h:138
The CYIWeakArray is a smart pointer that does not take ownership of a dynamically allocated array of ...
Definition: YiSharedArray.h:13
bool operator==(const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const CYIWeakArray< YI_R_ARRAY_TYPE > &rRhs)
Definition: YiWeakArray.h:295
CYIWeakArray< YI_ARRAY_TYPE > & operator=(const CYISharedArray< YI_OTHER_PTR_TYPE > &rOther)
Definition: YiWeakArray.h:268
CYIWeakArray< YI_ARRAY_TYPE > & operator=(const CYIWeakArray< YI_ARRAY_TYPE > &rOther)
Definition: YiWeakArray.h:232
uint32_t GetUseCount() const
Definition: YiWeakArray.h:178
YI_PTR_TYPE * Get() const
bool operator!=(const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const CYIWeakArray< YI_R_ARRAY_TYPE > &rRhs)
Definition: YiWeakArray.h:301
void Reset()
Definition: YiWeakArray.h:154
CYIWeakArray(const CYIWeakArray< YI_OTHER_ARRAY_TYPE > &rOther)
Definition: YiWeakArray.h:125
CYIWeakArray()
Definition: YiWeakArray.h:106
CYIWeakArray< YI_ARRAY_TYPE > & operator=(const CYISharedArray< YI_ARRAY_TYPE > &rOther)
Definition: YiWeakArray.h:256
void Swap(CYIWeakPtr< YI_PTR_TYPE > &rPtr)
YI_ARRAY_TYPE * Get() const
Definition: YiWeakArray.h:162
YI_ARRAY_TYPE * Get() const
Definition: YiSharedArray.h:332
CYIWeakArray< YI_ARRAY_TYPE > & operator=(const CYIWeakArray< YI_OTHER_PTR_TYPE > &rOther)
Definition: YiWeakArray.h:244
void Swap(CYIWeakArray< YI_ARRAY_TYPE > &rPtr)
Definition: YiWeakArray.h:186
bool IsNull() const
Definition: YiWeakArray.h:170