#include "boost/detail/compressed_pair.hpp" template < typename Referent , typename StoragePolicy > class new_policied : private std::auto_ptr > { public: typedef boost::compressed_pair > subj_type; typedef std::auto_ptr super_type; template < typename T0 , typename T1 , typename T2 > new_policied ( T0 t0 , T1 t1 , T2 t2 ) : super_type(new subj_type(Referent(t0,t1,t2))) {} super_type::release; };