00001
00002
00003 #ifndef XAODROOTACCESS_TOOLS_TDESTRUCTOR_H
00004 #define XAODROOTACCESS_TOOLS_TDESTRUCTOR_H
00005
00006 namespace xAOD {
00007
00020 class TVirtualDestructor {
00021
00022 public:
00024 virtual ~TVirtualDestructor() {}
00025
00027 virtual void destruct( void* ptr ) const = 0;
00028
00029 };
00030
00041 template< class T >
00042 class TDestructor : public TVirtualDestructor {
00043
00044 public:
00046 virtual void destruct( void* ptr ) const;
00047
00048 };
00049
00050 }
00051
00052
00053 #include "TDestructor.icc"
00054
00055 #endif // XAODROOTACCESS_TOOLS_TDESTRUCTOR_H