forked from boostorg/smart_ptr
Fix sp_convertible_test.cpp failure in C++0x mode.
[SVN r45194]
This commit is contained in:
@ -349,7 +349,16 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<class Y>
|
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 );
|
pn.swap( r.pn );
|
||||||
r.px = 0;
|
r.px = 0;
|
||||||
@ -772,7 +781,6 @@ template<class D, class T> D * get_deleter( shared_ptr<T> const & p )
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return del;
|
return del;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,12 @@ int g( boost::shared_ptr<incomplete> )
|
|||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
boost::shared_ptr<double> p1;
|
||||||
|
BOOST_TEST( 1 == f( p1 ) );
|
||||||
BOOST_TEST( 1 == f( boost::shared_ptr<double>() ) );
|
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>() ) );
|
BOOST_TEST( 4 == g( boost::shared_ptr<Z>() ) );
|
||||||
|
|
||||||
return boost::report_errors();
|
return boost::report_errors();
|
||||||
|
Reference in New Issue
Block a user