Fix sp_convertible_test.cpp failure in C++0x mode.

[SVN r45194]
This commit is contained in:
Peter Dimov
2008-05-07 10:15:16 +00:00
parent 2f1b1acc7a
commit 4b0490c0ae
2 changed files with 15 additions and 2 deletions

View File

@ -349,7 +349,16 @@ public:
}
template<class Y>
shared_ptr( shared_ptr<Y> && r ): px( r.px ), pn() // never throws
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
shared_ptr( shared_ptr<Y> && r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
#else
shared_ptr( shared_ptr<Y> && r )
#endif
: px( r.px ), pn() // never throws
{
pn.swap( r.pn );
r.px = 0;
@ -772,7 +781,6 @@ template<class D, class T> D * get_deleter( shared_ptr<T> const & p )
#endif
}
return del;
}

View File

@ -59,7 +59,12 @@ int g( boost::shared_ptr<incomplete> )
int main()
{
boost::shared_ptr<double> p1;
BOOST_TEST( 1 == f( p1 ) );
BOOST_TEST( 1 == f( boost::shared_ptr<double>() ) );
boost::shared_ptr<Z> p2;
BOOST_TEST( 4 == g( p2 ) );
BOOST_TEST( 4 == g( boost::shared_ptr<Z>() ) );
return boost::report_errors();