template class CCL::ComparablePtr
Smart pointer class for comparison, T::compare() must be defined.
#include <smartptr.h> template <class T> class ComparablePtr { public: // construction ComparablePtr (T* ptr = nullptr); ComparablePtr (const ComparablePtr <T>&); // methods ComparablePtr <T>& assign (T* ptr); ComparablePtr <T>& operator = (T* ptr); ComparablePtr <T>& operator = (const ComparablePtr <T>&); bool operator > (const ComparablePtr <T>& other) const; bool operator < (const ComparablePtr <T>& other) const; bool operator == (const ComparablePtr <T>& other) const; T* operator -> () const; operator T* () const; operator T*& (); };