diff options
Diffstat (limited to '3rdParty/Boost/src/boost/exception/info.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/exception/info.hpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/3rdParty/Boost/src/boost/exception/info.hpp b/3rdParty/Boost/src/boost/exception/info.hpp index 7aeeee5..c918dbd 100644 --- a/3rdParty/Boost/src/boost/exception/info.hpp +++ b/3rdParty/Boost/src/boost/exception/info.hpp @@ -114,8 +114,8 @@ boost tmp << header; 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 << '[' << x->tag_typeid_name() << "] = " << x->value_as_string() << '\n'; + error_info_base const & x = *i->second; + tmp << '[' << x.tag_typeid_name() << "] = " << x.value_as_string() << '\n'; } tmp.str().swap(diagnostic_info_str_); } @@ -140,11 +140,16 @@ boost ++count_; } - void + bool release() const { - if( !--count_ ) + if( --count_ ) + return false; + else + { delete this; + return true; + } } refcount_ptr<error_info_container> |