template class CCL::ObservedPtr
Observed pointer is nulled automatically when its subject is destroyed.
#include <iobserver.h> template <class T> class ObservedPtr: public CCL::IObserver { public: // construction ObservedPtr (T* subject = nullptr); ObservedPtr (const ObservedPtr& other); // methods bool isValid () const; ObservedPtr& assign (T* subject); ObservedPtr& operator = (T* subject); ObservedPtr& operator = (const ObservedPtr& other); operator T* () const; T* operator -> () const; };
Inherited Members
public: // methods virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0; virtual unsigned int CCL_API retain () = 0; virtual unsigned int CCL_API release () = 0; virtual void CCL_API notify (ISubject* subject, MessageRef msg) = 0; static IObserver void notify ( IUnknown* unknown, ISubject* subject, MessageRef msg );