1 //===----------------------------------------------------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
12 // template <class X> class auto_ptr;
14 // auto_ptr(auto_ptr_ref<X> r) throw();
16 // REQUIRES: c++98 || c++03 || c++11 || c++14
28 std::auto_ptr<B> ap1(p1);
29 std::auto_ptr_ref<A> apr = ap1;
30 std::auto_ptr<A> ap2(apr);
31 assert(ap2.get() == p1);
32 assert(ap1.get() == 0);
34 assert(A::count == 0);
35 assert(B::count == 0);