template class CCL::AutoPtr
Smart pointer class taking ownership on assignement.
#include <smartptr.h> template <class T> class AutoPtr { public: // construction AutoPtr (T* ptr = nullptr); AutoPtr (const AutoPtr& other); template <class P> AutoPtr (const AutoPtr <P>& other); template <class P> AutoPtr (const SharedPtr <P>& other); template <class P> AutoPtr (const UnknownPtr <P>& other); // methods bool isValid () const; AutoPtr& release (); T* detach (); void** as_ppv (); T* as_plain () const; AutoPtr& assign (T* ptr); AutoPtr& share (T* ptr); AutoPtr& operator = (T* ptr); AutoPtr& operator = (const AutoPtr& other); template <class P> AutoPtr& operator = (const AutoPtr <P>& other); template <class P> AutoPtr& operator = (const SharedPtr <P>& other); template <class P> AutoPtr& operator = (const UnknownPtr <P>& other); T* operator -> () const; operator T* () const; operator T*& (); template <class P> AutoPtr <T>& operator = (const AutoPtr <P>& other); template <class P> AutoPtr <T>& operator = (const SharedPtr <P>& other); template <class P> AutoPtr <T>& operator = (const UnknownPtr <P>& other); };