Include :

- miglioramento e irrobustimento a PtrOwner.
This commit is contained in:
DarioS
2023-03-27 20:39:06 +02:00
parent 0288f200f8
commit 56a10b43b4
+6 -6
View File
@@ -7,7 +7,7 @@
//
//
// Modifiche : 25.11.13 DS Creazione modulo.
// 27.03.23 DS Aggiunta Set( PtrOwner<T>& RPT).
// 27.03.23 DS Aggiunta Set( PtrOwner<T2>& RPT).
//
//----------------------------------------------------------------------------
@@ -25,11 +25,11 @@ class PtrOwner
PtrOwner( const PtrOwner<T>& RPT) = delete ;
~PtrOwner( void) { Reset() ; }
bool Set( T* pT) { Reset() ; m_pT = pT ; return ( m_pT != nullptr) ; }
bool Set( PtrOwner<T>& RPT)
{ if ( this == &RPT)
return true ;
return Set( Release( RPT)) ;
}
template <class T2> bool Set( PtrOwner<T2>& RPT)
{ if ( (void*) this == (void*) &RPT)
return true ;
return Set( Release( RPT)) ;
}
void Reset( void) { if ( m_pT != nullptr) delete m_pT ; m_pT = nullptr ; }
T& operator*() const { return *m_pT ; }
T* operator->() const { return m_pT ; }