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
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ int main()
|
|||||||
BOOST_TEST( !ti.before( ti ) );
|
BOOST_TEST( !ti.before( ti ) );
|
||||||
|
|
||||||
char const * nti = ti.name();
|
char const * nti = ti.name();
|
||||||
std::cout << nti << std::endl;
|
std::cout << nti << std::endl;
|
||||||
|
|
||||||
boost::detail::sp_typeinfo const & tv = BOOST_SP_TYPEID( void );
|
boost::detail::sp_typeinfo const & tv = BOOST_SP_TYPEID( void );
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ int main()
|
|||||||
BOOST_TEST( !tv.before( tv ) );
|
BOOST_TEST( !tv.before( tv ) );
|
||||||
|
|
||||||
char const * ntv = tv.name();
|
char const * ntv = tv.name();
|
||||||
std::cout << ntv << std::endl;
|
std::cout << ntv << std::endl;
|
||||||
|
|
||||||
BOOST_TEST( ti != tv );
|
BOOST_TEST( ti != tv );
|
||||||
BOOST_TEST( !( ti == tv ) );
|
BOOST_TEST( !( ti == tv ) );
|
||||||
|
Reference in New Issue
Block a user