diff --git a/include/boost/exception/detail/type_info.hpp b/include/boost/exception/detail/type_info.hpp index ac0960d..6819c80 100644 --- a/include/boost/exception/detail/type_info.hpp +++ b/include/boost/exception/detail/type_info.hpp @@ -43,12 +43,12 @@ boost struct type_info_ { - detail::sp_typeinfo type_; + detail::sp_typeinfo const * type_; char const * name_; explicit - type_info_( detail::sp_typeinfo type, char const * name ): - type_(type), + type_info_( detail::sp_typeinfo const & type, char const * name ): + type_(&type), name_(name) { } @@ -57,14 +57,14 @@ boost bool operator==( type_info_ const & a, type_info_ const & b ) { - return a.type_==b.type_; + return (*a.type_)==(*b.type_); } friend bool operator<( type_info_ const & a, type_info_ const & b ) { - return a.type_before(*b.type_)); } char const *