// (C) Copyright John Maddock 2001. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/config for most recent version. // MACRO: BOOST_NO_AUTO_PTR // TITLE: std::auto_ptr // DESCRIPTION: If the compiler / library supplies non-standard or broken // std::auto_ptr. #include namespace boost_no_auto_ptr{ template class my_ptr { T* p; public: my_ptr(std::auto_ptr& r) { p = r.release(); } my_ptr& operator=(std::auto_ptr& r) { delete p; p = r.release(); return *this; } ~my_ptr() { delete p; } }; int test() { std::auto_ptr ap1(new int); my_ptr mp(ap1); std::auto_ptr ap2(new int); mp = ap2; return 0; } }