#ifndef MG_UTIL_DEPENDENT_PTR_H #define MG_UTIL_DEPENDENT_PTR_H #include #include #include #include "enable_master_ptr.h" namespace mgd { template boost::weak_ptr<__T> make_dependent_ptr( enable_master_ptr<__M> const* master, boost::shared_ptr<__T> owned_object ) { return master->make_dependent_ptr( owned_object ); } template boost::weak_ptr<__T> make_dependent_ptr( enable_master_ptr<__M> const* master, std::auto_ptr<__T> owned_object ) { boost::shared_ptr<__T> object( owned_object ); return make_dependent_ptr( master, object ); } }; #endif