#ifndef __GEL_REFCOUNTED_H #define __GEL_REFCOUNTED_H namespace Obj { template class CSmtPtr; class CRefCounted : public Spt::Class { public: CRefCounted(); virtual ~CRefCounted(); void AddSmartPointer(CSmtPtr *pSmtPtr); void RemoveSmartPointer(CSmtPtr *pSmtPtr); void debug_validate_smart_pointers(CSmtPtr *pPtrToCheckForInclusion); protected: CSmtPtr * mp_smart_ptr_list; }; } #endif