get_error_info returns raw pointer instead of shared_ptr (breaking change)

diagnostic_information can now be called with boost::exception or std::exception object.
BOOST_THROW_EXCEPTION can now be used even if exceptions are disabled.
added functions: current_exception_diagnostic_information, current_exception_cast
documentation updated to match.

[SVN r52225]
This commit is contained in:
Emil Dotchevski
2009-04-06 23:15:42 +00:00
parent b2e31a640e
commit 87384d2116
47 changed files with 7462 additions and 5870 deletions

View File

@ -102,17 +102,13 @@ boost
{
if( diagnostic_info_str_.empty() )
{
std::string tmp;
std::ostringstream tmp;
for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i )
{
shared_ptr<error_info_base const> const & x = i->second;
tmp += '[';
tmp += x->tag_typeid_name();
tmp += "] = ";
tmp += x->value_as_string();
tmp += '\n';
tmp << '[' << x->tag_typeid_name() << "] = " << x->value_as_string() << std::endl;
}
diagnostic_info_str_.swap(tmp);
tmp.str().swap(diagnostic_info_str_);
}
return diagnostic_info_str_.c_str();
}