Geant4 Cross Reference |
1 #ifndef CLHEP_MEMORY_H 1 #ifndef CLHEP_MEMORY_H 2 #define CLHEP_MEMORY_H 2 #define CLHEP_MEMORY_H 3 3 4 // =========================================== 4 // ====================================================================== 5 // 5 // 6 // memory - memory management utilities 6 // memory - memory management utilities 7 // 7 // 8 // =========================================== 8 // ====================================================================== 9 9 10 #include <memory> 10 #include <memory> 11 11 12 namespace CLHEP { 12 namespace CLHEP { 13 13 14 template < typename T > 14 template < typename T > 15 using shared_ptr = std::shared_ptr<T>; 15 using shared_ptr = std::shared_ptr<T>; 16 template < typename T > 16 template < typename T > 17 using weak_ptr = std::weak_ptr<T>; 17 using weak_ptr = std::weak_ptr<T>; 18 18 19 // ------------------------------------------- 19 // ---------------------------------------------------------------------- 20 // do_nothing_deleter - for shared_ptrs not ta 20 // do_nothing_deleter - for shared_ptrs not taking ownership 21 // ------------------------------------------- 21 // ---------------------------------------------------------------------- 22 22 23 struct do_nothing_deleter { 23 struct do_nothing_deleter { 24 inline void operator () ( void const * ) c 24 inline void operator () ( void const * ) const; 25 }; 25 }; 26 26 27 void 27 void 28 do_nothing_deleter::operator () ( void const * 28 do_nothing_deleter::operator () ( void const * ) const 29 { } 29 { } 30 30 31 31 32 } // namespace CLHEP 32 } // namespace CLHEP 33 33 34 #endif // CLHEP_MEMORY_H 34 #endif // CLHEP_MEMORY_H 35 // 35 // 36 // =========================================== 36 // ====================================================================== 37 37