CountReferencePtr<T, OP, CP> &operator=(T *ptr) { assert(ptr != m_pObject); _Detach(); _Init(ptr); return *this; }
CountReferencePtr<T, OP, CP> &operator=(const CountReferencePtr<T, OP, CP> &cp) { if( m_pObject != cp.m_pObject ) { _Detach(); OP::operator=((const OP &)cp); CP::operator=((const CP &)cp); _Attach(cp); } return *this; }
VUTI::~VUTI() { _Detach(); }
~CountReferencePtr() { _Detach(); }