diff --git a/include/boost/exception/detail/type_info.hpp b/include/boost/exception/detail/type_info.hpp index 5bcc72d..67bbebd 100644 --- a/include/boost/exception/detail/type_info.hpp +++ b/include/boost/exception/detail/type_info.hpp @@ -48,12 +48,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) { } @@ -62,14 +62,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 *