minor diagnostic_information maintenance, updated documentation

[SVN r58131]
This commit is contained in:
Emil Dotchevski
2009-12-04 01:29:22 +00:00
parent dc75da0dc4
commit 58a49ff77e
7 changed files with 8333 additions and 8351 deletions

View File

@ -42,8 +42,7 @@ boost
void rethrow_exception( exception_ptr const & );
class
exception_ptr:
public exception_detail::exception_ptr_base
exception_ptr
{
typedef bool exception_ptr::*unspecified_bool_type;
friend exception_ptr current_exception();
@ -72,7 +71,7 @@ boost
}
void
_rethrow() const
rethrow() const
{
BOOST_ASSERT(*this);
if( bad_alloc_ )
@ -82,7 +81,7 @@ boost
}
bool
_empty() const
empty() const
{
return !bad_alloc_ && !c_;
}
@ -100,7 +99,7 @@ boost
operator unspecified_bool_type() const
{
return _empty() ? 0 : &exception_ptr::bad_alloc_;
return empty() ? 0 : &exception_ptr::bad_alloc_;
}
friend
@ -443,7 +442,24 @@ boost
void
rethrow_exception( exception_ptr const & p )
{
p._rethrow();
p.rethrow();
}
inline
std::string
diagnostic_information( exception_ptr const & p )
{
if( p )
try
{
rethrow_exception(p);
}
catch(
... )
{
return current_exception_diagnostic_information();
}
return "<empty>";
}
inline

View File

@ -1,36 +0,0 @@
//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
//Distributed under the Boost Software License, Version 1.0. (See accompanying
//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef UUID_DC4208C6417811DEBF11E1EC55D89593
#define UUID_DC4208C6417811DEBF11E1EC55D89593
#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
#pragma GCC system_header
#endif
namespace
boost
{
namespace
exception_detail
{
class
exception_ptr_base
{
public:
virtual void _rethrow() const=0;
virtual bool _empty() const=0;
protected:
~exception_ptr_base() throw()
{
}
};
}
}
#endif