8 #ifndef MBase_StrongPtr_h 9 #define MBase_StrongPtr_h 12 #pragma warning(disable:4786) // 'identifier' : identifier was truncated to 'number' characters in the debug information 13 #pragma warning(disable:4284) // return type for 'identifier::operator ->' is not a UDT or reference to a UDT. Will produce errors if applied using infix notation 49 template<
class T,
class DeleteOperator = DeleteC<T> >
60 #if defined(__IBMCPP__) || defined(__GNUG__) || defined(__hpux) 75 this->
mData = irReturnPtr.GiveUp();
79 #if defined(__IBMCPP__) || defined(__GNUG__) || defined(__hpux) 94 Reset(irReturnPtr.GiveUp());
107 return *(this->
mData);
118 return &(this->
mData);
125 template<
class U,
class DeleteOperatorU>
128 Reset(iStrongPtr.GiveUp());
135 this->
Reset(irpData);
140 template<
class U,
class DeleteOperatorU>
143 swap((this->
mData), iStrongPtr.mData);
167 return (this->
mData)[i];
189 #endif // MBase_StrongPtr_h StrongBufferPtr(T *ipData=NULL)
Definition: StrongPtr.h:180
T ** operator &()
Definition: StrongPtr.h:115
void Acquire(StrongPtr< U, DeleteOperatorU > &iStrongPtr)
Definition: StrongPtr.h:126
#define _ASSERTE(x)
Definition: Asserte.h:40
T * operator->() const
Definition: StrongPtr.h:98
T * mData
Definition: StrongBase.h:80
void Reset(T * iData=NULL)
Definition: StrongBase.h:43
#define Int32
Definition: BasicTypes.h:20
void Acquire(T *&irpData)
Definition: StrongPtr.h:133
void Swap(StrongPtr< U, DeleteOperatorU > &iStrongPtr)
Swap the contents of two strong pointers.
Definition: StrongPtr.h:141
T * GiveUp()
Definition: StrongBase.h:57
Definition: Allocator.h:47
T & operator*() const
Definition: StrongPtr.h:104
Definition: StrongPtr.h:50
ReturnPtr< T, DeleteOperator > Return()
Definition: StrongPtr.h:146
T * GiveUp()
This function should only be used by StrongPtr/ReturnPtr.
Definition: ReturnPtr.h:47
StrongPtr(T *ipData=NULL)
Definition: StrongPtr.h:55
StrongArrayPtr(T *ipData=NULL)
Definition: StrongPtr.h:159
Definition: StrongPtr.h:155
Definition: StrongBase.h:23
#define NULL
Definition: Null.h:10
StrongPtr(ReturnPtr< T2, DeleteOperator > &irReturnPtr)
Definition: StrongPtr.h:72
Definition: StrongPtr.h:176
void operator=(ReturnPtr< T2, DeleteOperator > &irReturnPtr)
Definition: StrongPtr.h:91
Definition: ReturnPtr.h:22
T & operator[](Int32 i) const
Definition: StrongPtr.h:164