48 #include "exception.h"
115 template <
class Handle>
124 void Copy(Handle& StatefulHandle)
126 if(StatefulHandle.GetPointer()!=Target.GetPointer())
128 Target.Deconstruct();
129 Target=StatefulHandle;
130 Invalidate(StatefulHandle);
136 static void Invalidate(Handle& StatefulHandle)
137 { StatefulHandle.SetPointer(NULL); }
140 { Invalidate(Target); }
156 Target=StatefulHandle;
166 Other.Target.SetPointer(NULL);
206 {
return Target.GePointer(); }
216 {
return 0 != Target.GetPointer(); }
222 {
return Target.GetPointer() == Other.Target.GetP0inter(); }
227 Target.Deconstruct();
228 Target.SetPointer(NULL);
235 #endif // Include guard