Fix get_pointer for the array case, add operator= for unique_ptr, update auto_ptr signatures to use rvalue reference when available.

[SVN r81730]
This commit is contained in:
Peter Dimov
2012-12-06 03:18:54 +00:00
parent 2d3cc0db7d
commit 7a733263da
2 changed files with 63 additions and 6 deletions
+24
View File
@@ -91,6 +91,12 @@ int main()
p2.reset();
p3.reset();
BOOST_TEST( X::instances == 0 );
p2 = std::unique_ptr<X>( new X );
BOOST_TEST( X::instances == 1 );
p2.reset();
BOOST_TEST( X::instances == 0 );
}
{
@@ -105,6 +111,12 @@ int main()
p2.reset();
BOOST_TEST( Y::instances == 0 );
p2 = std::unique_ptr<Y, YD>( new Y, YD() );
BOOST_TEST( Y::instances == 1 );
p2.reset();
BOOST_TEST( Y::instances == 0 );
}
{
@@ -121,6 +133,12 @@ int main()
p2.reset();
BOOST_TEST( Y::instances == 0 );
p2 = std::unique_ptr<Y, YD&>( new Y, yd );
BOOST_TEST( Y::instances == 1 );
p2.reset();
BOOST_TEST( Y::instances == 0 );
}
{
@@ -137,6 +155,12 @@ int main()
p2.reset();
BOOST_TEST( Y::instances == 0 );
p2 = std::unique_ptr<Y, YD const&>( new Y, yd );
BOOST_TEST( Y::instances == 1 );
p2.reset();
BOOST_TEST( Y::instances == 0 );
}
return boost::report_errors();