forked from boostorg/smart_ptr
Merge [58275], [58306] to release.
[SVN r58380]
This commit is contained in:
@@ -74,8 +74,9 @@ template<unsigned size, unsigned align_> struct allocator_impl
|
|||||||
|
|
||||||
static lightweight_mutex & mutex()
|
static lightweight_mutex & mutex()
|
||||||
{
|
{
|
||||||
static lightweight_mutex m;
|
static freeblock< sizeof( lightweight_mutex ), boost::alignment_of< lightweight_mutex >::value > fbm;
|
||||||
return m;
|
static lightweight_mutex * pm = new( &fbm ) lightweight_mutex;
|
||||||
|
return *pm;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lightweight_mutex * mutex_init;
|
static lightweight_mutex * mutex_init;
|
||||||
|
@@ -77,7 +77,7 @@ public:
|
|||||||
template<class U>
|
template<class U>
|
||||||
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
||||||
|
|
||||||
intrusive_ptr( intrusive_ptr<U> const & rhs, typename detail::sp_enable_if_convertible<U,T>::type = detail::sp_empty() )
|
intrusive_ptr( intrusive_ptr<U> const & rhs, typename boost::detail::sp_enable_if_convertible<U,T>::type = boost::detail::sp_empty() )
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@@ -228,7 +228,7 @@ public:
|
|||||||
template<class Y>
|
template<class Y>
|
||||||
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
||||||
|
|
||||||
shared_ptr( shared_ptr<Y> const & r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
|
shared_ptr( shared_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@@ -353,7 +353,7 @@ public:
|
|||||||
template<class Y>
|
template<class Y>
|
||||||
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
#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() )
|
shared_ptr( shared_ptr<Y> && r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@@ -448,7 +448,7 @@ public:
|
|||||||
return pn < rhs.pn;
|
return pn < rhs.pn;
|
||||||
}
|
}
|
||||||
|
|
||||||
void * _internal_get_deleter( detail::sp_typeinfo const & ti ) const
|
void * _internal_get_deleter( boost::detail::sp_typeinfo const & ti ) const
|
||||||
{
|
{
|
||||||
return pn.get_deleter( ti );
|
return pn.get_deleter( ti );
|
||||||
}
|
}
|
||||||
|
@@ -63,7 +63,7 @@ public:
|
|||||||
template<class Y>
|
template<class Y>
|
||||||
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
||||||
|
|
||||||
weak_ptr( weak_ptr<Y> const & r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
|
weak_ptr( weak_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ public:
|
|||||||
template<class Y>
|
template<class Y>
|
||||||
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
||||||
|
|
||||||
weak_ptr( weak_ptr<Y> && r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
|
weak_ptr( weak_ptr<Y> && r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@ public:
|
|||||||
template<class Y>
|
template<class Y>
|
||||||
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
||||||
|
|
||||||
weak_ptr( shared_ptr<Y> const & r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
|
weak_ptr( shared_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user