Merge [58123], [58127], [58128] to release. Fixes #3666.

[SVN r58195]
This commit is contained in:
Peter Dimov
2009-12-06 17:50:28 +00:00
parent d4eb9328ca
commit 9fab32d84c

View File

@ -43,12 +43,12 @@ boost
struct struct
type_info_ type_info_
{ {
detail::sp_typeinfo type_; detail::sp_typeinfo const * type_;
char const * name_; char const * name_;
explicit explicit
type_info_( detail::sp_typeinfo type, char const * name ): type_info_( detail::sp_typeinfo const & type, char const * name ):
type_(type), type_(&type),
name_(name) name_(name)
{ {
} }
@ -57,14 +57,14 @@ boost
bool bool
operator==( type_info_ const & a, type_info_ const & b ) operator==( type_info_ const & a, type_info_ const & b )
{ {
return a.type_==b.type_; return (*a.type_)==(*b.type_);
} }
friend friend
bool bool
operator<( type_info_ const & a, type_info_ const & b ) operator<( type_info_ const & a, type_info_ const & b )
{ {
return a.type_<b.type_; return 0!=(a.type_->before(*b.type_));
} }
char const * char const *