8 #ifndef _INC_cCodedPtr_H
9 #define _INC_cCodedPtr_H
10 #ifndef NO_PRAGMA_ONCE
14 #include "../GrayLibBase.h"
20 template<
class TYPE, cCodedPtrFUNC_t _TYPE_ENC_FUNC, cCodedPtrFUNC_t _TYPE_DEC_FUNC >
31 : m_pCoded(_TYPE_ENC_FUNC(pObj))
41 return((
TYPE*)_TYPE_DEC_FUNC(m_pCoded));
62 class CCodedSystemPtr :
public cCodedPtrT < TYPE, EncodeSystemPointer, DecodeSystemPointer >
70 CCodedSystemPtr(
TYPE* pObj =
nullptr) : cCodedPtrT(pObj)
75 class cCodedPtr :
public cCodedPtrT < TYPE, EncodePointer, DecodePointer >
83 cCodedPtr(
TYPE* pObj =
nullptr) : cCodedPtrT(pObj)
#define TYPE
Definition: StrT.cpp:38
#define ASSERT(exp)
Definition: cDebugAssert.h:87
Definition: cCodedPtr.h:22
TYPE & operator*() const
Definition: cCodedPtr.h:49
~cCodedPtrT()
Definition: cCodedPtr.h:34
cCodedPtrT(TYPE *pObj=nullptr)
Definition: cCodedPtr.h:30
TYPE * get_Ptr() const
Definition: cCodedPtr.h:38
TYPE * operator->() const
Definition: cCodedPtr.h:54
void *(WINAPI * cCodedPtrFUNC_t)(void *)
Definition: cCodedPtr.h:18