7 #ifndef MSynch_SmartBase_h 8 #define MSynch_SmartBase_h 13 #if defined(_NO_EXCEPTION) 19 template<
class T,
class DeleteOperator>
44 #if !defined(_NO_EXCEPTION) 47 lpnTempRefCount=
new Int32(1);
54 DeleteOperator()(iData);
58 lpnTempRefCount=
new Int32(1);
92 mData(iSmartPtr.mData)
118 DeleteOperator()(lData);
172 template<
class T,
class DeleteOperator>
178 template<
class T,
class DeleteOperator>
186 #if !defined(_NO_EXCEPTION) 189 mpnRefCount =
new Int32(1);
193 CallDeleteOperator();
197 mpnRefCount =
new Int32(1);
204 #endif // MSynch_SmartBase_h Int32 * mpnRefCount
Definition: SmartBase.h:169
bool IsNull() const
Definition: SmartBase.h:83
void ReplaceWith(T iData, Int32 *ipRefCount)
Definition: SmartBase.h:147
~SmartBase()
Definition: SmartBase.h:173
void CallDeleteOperator()
Definition: SmartBase.h:110
T mData
Definition: SmartBase.h:167
SmartBase(const SmartBase &iSmartPtr)
Definition: SmartBase.h:90
#define _ASSERTE(x)
Definition: Asserte.h:40
bool operator==(const SmartBase &iSmartBase) const
Definition: SmartBase.h:73
Definition: ReferenceCountedImpl.h:18
void Reset(T iData=NULL)
Definition: SmartBase.h:32
#define Int32
Definition: BasicTypes.h:20
void Dispose()
Definition: SmartBase.h:123
SmartBase(T iData=NULL)
Definition: SmartBase.h:179
T Get() const
Definition: SmartBase.h:25
bool operator<(const SmartBase &iSmartBase) const
Definition: SmartBase.h:78
SmartBase(T iData, Int32 *ipRefCount)
Definition: SmartBase.h:100
#define NULL
Definition: Null.h:10
Definition: SmartBase.h:20