00001 // ================================================ 00002 // SP.h 00003 // Smart Pointer Template 00004 // ================================================ 00005 #ifndef TESTATLFAST_SP_H 00006 #define TESTATLFAST_SP_H 00007 namespace TestAtlfast{ 00008 template <class Type> class SP{ 00009 public: 00010 SP(): pointee(0){} 00011 SP(Type* p): pointee(p){} 00012 operator Type*() {return pointee;} 00013 Type* operator->() {return pointee;} 00014 private: 00015 Type* pointee; 00016 }; 00017 } 00018 #endif 00019