2 #ifndef _YI_SHARED_PTR_H_ 3 #define _YI_SHARED_PTR_H_ 19 template<
typename YI_PTR_TYPE>
117 template<
typename YI_PTR_TYPE>
120 template<
typename YI_OTHER_PTR_TYPE>
friend class CYIWeakPtr;
122 template<
typename YI_OTHER_PTR_TYPE>
145 template<
typename YI_FUNCTION_OBJECT>
146 explicit CYISharedPtr(YI_PTR_TYPE *pData, YI_FUNCTION_OBJECT functor);
151 template<
typename YI_OTHER_TYPE>
152 CYISharedPtr(
const std::shared_ptr<YI_OTHER_TYPE> &pShared);
159 template<
typename YI_OTHER_PTR_TYPE>
173 template<
typename YI_OTHER_PTR_TYPE>
267 operator bool()
const;
269 template<
typename YI_OTHER_PTR_TYPE>
270 operator std::shared_ptr<YI_OTHER_PTR_TYPE>()
const;
280 template<
typename YI_OTHER_PTR_TYPE>
291 template<
typename YI_OTHER_PTR_TYPE>
312 template<
typename YI_OTHER_PTR_TYPE>
333 YI_PTR_TYPE *
Get()
const;
451 template<
typename YI_OTHER_PTR_TYPE>
523 template<
typename YI_OTHER_PTR_TYPE>
550 #if YI_LOG_SHARED_PTR_COUNTS 554 void EnableCountsLogging();
558 std::shared_ptr<YI_PTR_TYPE> m_pShared;
563 #include "smartptr/YiSharedPtr.inl" static const CYIRuntimeTypeInfo & GetClassTypeInfo()
CYISharedPtr< YI_OTHER_PTR_TYPE > DynamicCast() const
The CYIWeakPtr is a smart pointer that does not take any ownership of a dynamically allocated object...
Definition: YiSharedPtr.h:20
const CYIRuntimeTypeInfo * GetRuntimeTypeInfo() const
uint32_t GetUseCount() const
void Swap(CYISharedPtr< YI_PTR_TYPE > &rPtr)
YI_PTR_TYPE * operator->() const
CYISharedPtr< YI_OTHER_PTR_TYPE > StaticCast() const
YI_PTR_TYPE * Get() const
The CYISharedPtr is a smart pointer that takes a shared ownership of a dynamically allocated object...
Definition: YiSharedPtr.h:118
The abstract runtime representation of a C++ type.
Definition: YiRtti.h:48
YI_PTR_TYPE & operator*() const
CYISharedPtr< YI_PTR_TYPE > & operator=(const std::shared_ptr< YI_OTHER_PTR_TYPE > &rOther)
CYIEnableSharedFromThis<T> allows an object currently managed by a CYISharedPtr to safely generation ...
Definition: YiEnableSharedFromThis.h:61
This file contains the classes and macros used to implement RTTI in You.i Engine. ...
Definition: YiCallbackDeleter.h:41
CYIWeakPtr< YI_PTR_TYPE > ToWeakPtr() const