diff --git a/include/boost/smart_ptr/intrusive_ptr.hpp b/include/boost/smart_ptr/intrusive_ptr.hpp index ba3f30b..dceb817 100644 --- a/include/boost/smart_ptr/intrusive_ptr.hpp +++ b/include/boost/smart_ptr/intrusive_ptr.hpp @@ -122,19 +122,22 @@ public: return *this; } -#if !defined(BOOST_NO_MEMBER_TEMPLATES) || defined(BOOST_MSVC6_MEMBER_TEMPLATES) template friend class intrusive_ptr; + template #if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) + intrusive_ptr(intrusive_ptr && rhs, typename boost::detail::sp_enable_if_convertible::type = boost::detail::sp_empty()) + #else + intrusive_ptr(intrusive_ptr && rhs) + #endif : px( rhs.px ) { rhs.px = 0; } -#endif #endif