Data types which provide memory management by taking ownership of their contents and providing methods to control their lifetime.
You.i Engine provides some smart pointer implementations to assist in memory management. Smart pointers are abstract data types which behave like pointers but provide additional features which aid in memory reclaimation, tracking ownership, and preventing unnecessary copies. Smart pointers also communicate memory ownership across objects and APIs more clearly than raw pointers allow.
|
| template<typename YI_L_PTR_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_PTR_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator== (const CYICowPtr< YI_L_PTR_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const CYICowPtr< YI_R_PTR_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_PTR_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator!= (const CYICowPtr< YI_L_PTR_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const CYICowPtr< YI_R_PTR_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_PTR_TYPE > |
| bool | operator== (const CYICowPtr< YI_L_PTR_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const YI_R_PTR_TYPE *pRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_PTR_TYPE > |
| bool | operator!= (const CYICowPtr< YI_L_PTR_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const YI_R_PTR_TYPE *pRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_PTR_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator== (const YI_L_PTR_TYPE *pLhs, const CYICowPtr< YI_R_PTR_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_PTR_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator!= (const YI_L_PTR_TYPE *pLhs, const CYICowPtr< YI_R_PTR_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_PTR_TYPE > |
| void | YI_CHECKED_DELETE (YI_PTR_TYPE *pPtr) |
| |
| template<typename YI_PTR_TYPE > |
| void | YI_CHECKED_ARRAY_DELETE (YI_PTR_TYPE pArray[]) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_ARRAY_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator== (const CYIScopedArray< YI_L_ARRAY_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const CYIScopedArray< YI_R_ARRAY_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_ARRAY_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator!= (const CYIScopedArray< YI_L_ARRAY_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const CYIScopedArray< YI_R_ARRAY_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_ARRAY_TYPE > |
| bool | operator== (const CYIScopedArray< YI_L_ARRAY_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const YI_R_ARRAY_TYPE pRhs[]) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_ARRAY_TYPE > |
| bool | operator!= (const CYIScopedArray< YI_L_ARRAY_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const YI_R_ARRAY_TYPE pRhs[]) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator== (const YI_L_ARRAY_TYPE pLhs[], const CYIScopedArray< YI_R_ARRAY_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator!= (const YI_L_ARRAY_TYPE pLhs[], const CYIScopedArray< YI_R_ARRAY_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_PTR_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator== (const CYIScopedPtr< YI_L_PTR_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const CYIScopedPtr< YI_R_PTR_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_PTR_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator!= (const CYIScopedPtr< YI_L_PTR_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const CYIScopedPtr< YI_R_PTR_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_PTR_TYPE > |
| bool | operator== (const CYIScopedPtr< YI_L_PTR_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const YI_R_PTR_TYPE *pRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_L_DELETE_FUNCTOR , typename YI_R_PTR_TYPE > |
| bool | operator!= (const CYIScopedPtr< YI_L_PTR_TYPE, YI_L_DELETE_FUNCTOR > &rLhs, const YI_R_PTR_TYPE *pRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_PTR_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator== (const YI_L_PTR_TYPE *pLhs, const CYIScopedPtr< YI_R_PTR_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_PTR_TYPE , typename YI_R_DELETE_FUNCTOR > |
| bool | operator!= (const YI_L_PTR_TYPE *pLhs, const CYIScopedPtr< YI_R_PTR_TYPE, YI_R_DELETE_FUNCTOR > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator== (const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const CYISharedArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator!= (const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const CYISharedArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_PTR_TYPE > |
| bool | operator== (const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const CYISharedPtr< YI_R_PTR_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_PTR_TYPE > |
| bool | operator!= (const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const CYISharedPtr< YI_R_PTR_TYPE > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator== (const CYISharedPtr< YI_L_PTR_TYPE > &rLhs, const CYISharedArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator!= (const CYISharedPtr< YI_L_PTR_TYPE > &rLhs, const CYISharedArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_PTR_TYPE > |
| bool | operator== (const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const CYIWeakPtr< YI_R_PTR_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_PTR_TYPE > |
| bool | operator!= (const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const CYIWeakPtr< YI_R_PTR_TYPE > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator== (const CYIWeakPtr< YI_L_PTR_TYPE > &rLhs, const CYISharedArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator!= (const CYIWeakPtr< YI_L_PTR_TYPE > &rLhs, const CYISharedArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator== (const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const YI_R_ARRAY_TYPE pRhs[]) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator!= (const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const YI_R_ARRAY_TYPE pRhs[]) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator== (const YI_L_ARRAY_TYPE pLhs[], const CYISharedArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator!= (const YI_L_ARRAY_TYPE pLhs[], const CYISharedArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator== (const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const CYIWeakArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator!= (const CYISharedArray< YI_L_ARRAY_TYPE > &rLhs, const CYIWeakArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator== (const CYIWeakArray< YI_L_ARRAY_TYPE > &rLhs, const CYISharedArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_ARRAY_TYPE , typename YI_R_ARRAY_TYPE > |
| bool | operator!= (const CYIWeakArray< YI_L_ARRAY_TYPE > &rLhs, const CYISharedArray< YI_R_ARRAY_TYPE > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_PTR_TYPE > |
| bool | operator== (const CYIWeakArray< YI_L_PTR_TYPE > &rLhs, const YI_R_PTR_TYPE *pRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_PTR_TYPE > |
| bool | operator!= (const CYIWeakArray< YI_L_PTR_TYPE > &rLhs, const YI_R_PTR_TYPE *pRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_PTR_TYPE > |
| bool | operator== (const YI_L_PTR_TYPE *pLhs, const CYIWeakArray< YI_R_PTR_TYPE > &rRhs) |
| |
| template<typename YI_L_PTR_TYPE , typename YI_R_PTR_TYPE > |
| bool | operator!= (const YI_L_PTR_TYPE *pLhs, const CYIWeakArray< YI_R_PTR_TYPE > &rRhs) |
| |