Update shared_ptr move constructors to improve codegen

This commit is contained in:
Peter Dimov
2022-05-19 22:20:50 +03:00
parent 2e31d0d633
commit 95eaa2d7c3

View File

@ -667,9 +667,8 @@ public:
#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
shared_ptr( shared_ptr && r ) BOOST_SP_NOEXCEPT : px( r.px ), pn()
shared_ptr( shared_ptr && r ) BOOST_SP_NOEXCEPT : px( r.px ), pn( static_cast< boost::detail::shared_count && >( r.pn ) )
{
pn.swap( r.pn );
r.px = 0;
}
@ -683,11 +682,9 @@ public:
shared_ptr( shared_ptr<Y> && r )
#endif
BOOST_SP_NOEXCEPT : px( r.px ), pn()
BOOST_SP_NOEXCEPT : px( r.px ), pn( static_cast< boost::detail::shared_count && >( r.pn ) )
{
boost::detail::sp_assert_convertible< Y, T >();
pn.swap( r.pn );
r.px = 0;
}