diff --git a/src/libraries/turtle/is_serializable.hpp b/src/libraries/turtle/is_serializable.hpp index f499026..511ad7b 100644 --- a/src/libraries/turtle/is_serializable.hpp +++ b/src/libraries/turtle/is_serializable.hpp @@ -10,7 +10,6 @@ #define MOCK_IS_SERIALIZABLE_HPP_INCLUDED #include "yes_no_type.hpp" -#include "sink.hpp" #include #ifdef _MSC_VER @@ -24,17 +23,14 @@ namespace detail { namespace serializable { - template< typename S > - yes_type operator<<( S&, sink ); + template< typename S, typename T > + yes_type operator<<( S&, const T& ); template< typename S, typename T > struct impl { static S* s; static T* t; - // if an error is generated by the line below it means T has more than - // one conversion to other types which are serializable : the easiest - // solution would be to add a format function for T. enum { value = sizeof( yes_type(), (*s << *t), yes_type() ) == sizeof( yes_type ) }; }; } diff --git a/src/tests/turtle_test/is_serializable_test.cpp b/src/tests/turtle_test/is_serializable_test.cpp index dffef36..8637c7f 100644 --- a/src/tests/turtle_test/is_serializable_test.cpp +++ b/src/tests/turtle_test/is_serializable_test.cpp @@ -60,7 +60,7 @@ namespace }; } -BOOST_MPL_ASSERT(( mock::detail::is_serializable< std::ostream, convertible_to_base > )); +BOOST_MPL_ASSERT_NOT(( mock::detail::is_serializable< std::ostream, convertible_to_base > )); namespace { @@ -80,7 +80,7 @@ namespace }; } -BOOST_MPL_ASSERT(( mock::detail::is_serializable< std::ostream, convertible_to_serializable > )); +BOOST_MPL_ASSERT_NOT(( mock::detail::is_serializable< std::ostream, convertible_to_serializable > )); namespace { @@ -88,4 +88,4 @@ namespace {}; } -BOOST_MPL_ASSERT(( mock::detail::is_serializable< std::ostream, derived_from_serializable > )); +BOOST_MPL_ASSERT_NOT(( mock::detail::is_serializable< std::ostream, derived_from_serializable > ));