forked from boostorg/smart_ptr
Fix g++ 3.2 regression.
[SVN r45177]
This commit is contained in:
@ -17,6 +17,16 @@
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( BOOST_NO_SFINAE )
|
||||
# define BOOST_SP_NO_SP_CONVERTIBLE
|
||||
#endif
|
||||
|
||||
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ < 303 )
|
||||
# define BOOST_SP_NO_SP_CONVERTIBLE
|
||||
#endif
|
||||
|
||||
#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
||||
|
||||
namespace boost
|
||||
{
|
||||
|
||||
@ -57,4 +67,6 @@ template< class Y, class T > struct sp_enable_if_convertible: public sp_enable_i
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif // !defined( BOOST_SP_NO_SP_CONVERTIBLE )
|
||||
|
||||
#endif // #ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
|
||||
|
@ -22,10 +22,7 @@
|
||||
|
||||
#include <boost/assert.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if !defined( BOOST_NO_SFINAE )
|
||||
#include <boost/detail/sp_convertible.hpp>
|
||||
#endif
|
||||
|
||||
#include <functional> // for std::less
|
||||
|
||||
@ -78,7 +75,7 @@ public:
|
||||
#if !defined(BOOST_NO_MEMBER_TEMPLATES) || defined(BOOST_MSVC6_MEMBER_TEMPLATES)
|
||||
|
||||
template<class U>
|
||||
#if !defined( BOOST_NO_SFINAE )
|
||||
#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() )
|
||||
|
||||
|
@ -31,10 +31,7 @@
|
||||
#include <boost/throw_exception.hpp>
|
||||
#include <boost/detail/shared_count.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if !defined( BOOST_NO_SFINAE )
|
||||
#include <boost/detail/sp_convertible.hpp>
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
|
||||
#include <boost/detail/spinlock_pool.hpp>
|
||||
@ -228,7 +225,7 @@ public:
|
||||
}
|
||||
|
||||
template<class Y>
|
||||
#if !defined( BOOST_NO_SFINAE )
|
||||
#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() )
|
||||
|
||||
|
@ -61,7 +61,7 @@ public:
|
||||
//
|
||||
|
||||
template<class Y>
|
||||
#if !defined( BOOST_NO_SFINAE )
|
||||
#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() )
|
||||
|
||||
@ -76,7 +76,7 @@ public:
|
||||
}
|
||||
|
||||
template<class Y>
|
||||
#if !defined( BOOST_NO_SFINAE )
|
||||
#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() )
|
||||
|
||||
|
Reference in New Issue
Block a user