21 #ifndef Om_Macro_Precompilation_
35 inline Type_::~Copyable() {}
39 throw std::logic_error(
"Pure virtual function called.");
46 template <
typename TheCopyable>
47 inline std::auto_ptr<TheCopyable>
Om::Copy(TheCopyable
const & theCopyable) {
48 return std::auto_ptr<TheCopyable>(
49 static_cast<TheCopyable *
>(
50 theCopyable.Copy().release()
std::auto_ptr< TheCopyable > Copy(TheCopyable const &)