Merge [58275], [58306] to release.

[SVN r58380]
This commit is contained in:
Peter Dimov
2009-12-14 17:44:19 +00:00
parent ba349679f3
commit f4386409d9
5 changed files with 12 additions and 11 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -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 );
} }

View File

@@ -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