From 25ccf6078fba12a51b5a98f305f69fb3f42fb824 Mon Sep 17 00:00:00 2001 From: mat007 Date: Sun, 2 Sep 2012 21:31:24 +0000 Subject: [PATCH] Replaced std::type_info with boost::detail::sp_typeinfo git-svn-id: https://svn.code.sf.net/p/turtle/code/trunk@553 860be788-9bd5-4423-9f1e-828f051e677b --- test/detail/test_type_name.cpp | 4 ++-- test/test_object.cpp | 6 +++--- turtle/detail/type_name.hpp | 8 +++++--- turtle/mock.hpp | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/test/detail/test_type_name.cpp b/test/detail/test_type_name.cpp index b5fd606..4c416b7 100644 --- a/test/detail/test_type_name.cpp +++ b/test/detail/test_type_name.cpp @@ -17,7 +17,7 @@ namespace template< typename T > std::string to_string( const T& ) { - return boost::lexical_cast< std::string >( mock::detail::type_name( typeid( T ) ) ); + return boost::lexical_cast< std::string >( mock::detail::type_name( BOOST_SP_TYPEID( T ) ) ); } } @@ -75,5 +75,5 @@ BOOST_AUTO_TEST_CASE( name_of_type_from_unnamed_inner_namespace_is_extracted ) BOOST_AUTO_TEST_CASE( name_of_local_type_is_extracted ) { struct my_local_type {}; - BOOST_CHECK_EQUAL( "my_local_type", boost::lexical_cast< std::string >( mock::detail::type_name( typeid( my_local_type ) ) ) ); + BOOST_CHECK_EQUAL( "my_local_type", boost::lexical_cast< std::string >( mock::detail::type_name( BOOST_SP_TYPEID( my_local_type ) ) ) ); } diff --git a/test/test_object.cpp b/test/test_object.cpp index 9d9e083..18fbe8a 100644 --- a/test/test_object.cpp +++ b/test/test_object.cpp @@ -32,7 +32,7 @@ namespace { fixture() { - mock::detail::configure( o, e, "instance", mock::detail::type_name( typeid( o ) ), "name" ); + mock::detail::configure( o, e, "instance", mock::detail::type_name( BOOST_SP_TYPEID( o ) ), "name" ); } object o; mock::detail::function< void() > e; @@ -68,7 +68,7 @@ BOOST_AUTO_TEST_CASE( an_object_is_assignable_by_sharing_its_state ) mock::detail::function< void() > e; { object o2; - mock::detail::configure( o2, e, "instance", mock::detail::type_name( typeid( o2 ) ), "name" ); + mock::detail::configure( o2, e, "instance", mock::detail::type_name( BOOST_SP_TYPEID( o2 ) ), "name" ); e.expect().once(); o1 = o2; BOOST_CHECK( ! mock::verify( o2 ) ); @@ -82,7 +82,7 @@ BOOST_AUTO_TEST_CASE( an_object_is_copiable_by_sharing_its_state ) std::auto_ptr< object > o2( new object ); const object o1( *o2 ); mock::detail::function< void() > e; - mock::detail::configure( *o2, e, "instance", mock::detail::type_name( typeid( *o2 ) ), "name" ); + mock::detail::configure( *o2, e, "instance", mock::detail::type_name( BOOST_SP_TYPEID( *o2 ) ), "name" ); e.expect().once(); BOOST_CHECK( ! mock::verify( *o2 ) ); BOOST_CHECK( ! mock::verify( o1 ) ); diff --git a/turtle/detail/type_name.hpp b/turtle/detail/type_name.hpp index 10eb917..e2b449c 100644 --- a/turtle/detail/type_name.hpp +++ b/turtle/detail/type_name.hpp @@ -10,6 +10,7 @@ #define MOCK_TYPE_NAME_HPP_INCLUDED #include +#include #include #include #include @@ -25,7 +26,7 @@ namespace detail class type_name { public: - explicit type_name( const std::type_info& info ) + explicit type_name( const boost::detail::sp_typeinfo& info ) : info_( &info ) {} friend std::ostream& operator<<( std::ostream& s, const type_name& t ) @@ -34,7 +35,8 @@ namespace detail return s; } private: - void serialize( std::ostream& s, const std::type_info& info ) const + void serialize( std::ostream& s, + const boost::detail::sp_typeinfo& info ) const { const char* name = info.name(); #ifdef __GNUC__ @@ -76,7 +78,7 @@ namespace detail s << name; } - const std::type_info* info_; + const boost::detail::sp_typeinfo* info_; }; } } // mock diff --git a/turtle/mock.hpp b/turtle/mock.hpp index 92c4179..874b97b 100644 --- a/turtle/mock.hpp +++ b/turtle/mock.hpp @@ -43,7 +43,7 @@ { \ mock::detail::configure( *this, t##_mock_, \ instance.substr( 0, instance.rfind( BOOST_PP_STRINGIZE(t) ) ), \ - mock::detail::type_name( typeid( *this ) ), \ + mock::detail::type_name( BOOST_SP_TYPEID( *this ) ), \ BOOST_PP_STRINGIZE(t) ); \ return t##_mock_; \ }