merging changes from trunk.

[SVN r63565]
This commit is contained in:
Emil Dotchevski
2010-07-03 21:32:02 +00:00
committed by Peter Dimov
parent a53446874b
commit 173fa9c41e
2 changed files with 24 additions and 24 deletions

View File

@ -75,8 +75,8 @@ boost
void void
release() release()
{ {
if( px_ ) if( px_ && px_->release() )
px_->release(); px_=0;
} }
}; };
} }
@ -134,7 +134,7 @@ boost
class exception; class exception;
template <class> template <class T>
class shared_ptr; class shared_ptr;
namespace namespace
@ -150,7 +150,7 @@ boost
virtual shared_ptr<error_info_base> get( type_info_ const & ) const = 0; virtual shared_ptr<error_info_base> get( type_info_ const & ) const = 0;
virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0; virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0;
virtual void add_ref() const = 0; virtual void add_ref() const = 0;
virtual void release() const = 0; virtual bool release() const = 0;
virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0; virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0;
protected: protected:

View File

@ -43,26 +43,6 @@
namespace boost namespace boost
{ {
#if !defined( BOOST_EXCEPTION_DISABLE )
namespace
exception_detail
{
template <class E>
void
throw_exception_( E const & x, char const * current_function, char const * file, int line )
{
throw_exception(
set_info(
set_info(
set_info(
enable_error_info(x),
throw_function(current_function)),
throw_file(file)),
throw_line(line)));
}
}
#endif
#ifdef BOOST_NO_EXCEPTIONS #ifdef BOOST_NO_EXCEPTIONS
void throw_exception( std::exception const & e ); // user defined void throw_exception( std::exception const & e ); // user defined
@ -86,6 +66,26 @@ template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const
#endif #endif
#if !defined( BOOST_EXCEPTION_DISABLE )
namespace
exception_detail
{
template <class E>
BOOST_ATTRIBUTE_NORETURN
void
throw_exception_( E const & x, char const * current_function, char const * file, int line )
{
boost::throw_exception(
set_info(
set_info(
set_info(
enable_error_info(x),
throw_function(current_function)),
throw_file(file)),
throw_line(line)));
}
}
#endif
} // namespace boost } // namespace boost
#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED #endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED