00001 #ifndef NMWR_GB_COPY_TRAITS_H 00002 #define NMWR_GB_COPY_TRAITS_H 00003 00004 00005 // $LICENSE 00006 00007 //---------------------------------------------------------------- 00053 //---------------------------------------------------------------- 00054 00055 template<class T> 00056 struct copy_traits_base { 00057 static T* clone(T const& t) { return (new T(t));} 00058 static void destroy(T * t) { delete t;} 00059 }; 00060 00061 template<class T> 00062 struct copy_traits : public copy_traits_base<T> {}; 00063 00064 00065 #endif