From d3f7934e2d2428ab67495e6376c4dc0d0860442f Mon Sep 17 00:00:00 2001 From: mat007 Date: Tue, 27 Apr 2010 16:20:52 +0000 Subject: [PATCH] Added extra namespace level to protect from unwanted argument lookup git-svn-id: https://svn.code.sf.net/p/turtle/code/trunk@148 860be788-9bd5-4423-9f1e-828f051e677b --- src/libraries/turtle/format.hpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libraries/turtle/format.hpp b/src/libraries/turtle/format.hpp index 6b8345a..c5f9f0d 100644 --- a/src/libraries/turtle/format.hpp +++ b/src/libraries/turtle/format.hpp @@ -22,6 +22,8 @@ namespace mock { namespace detail +{ +namespace protect { struct eater { @@ -50,7 +52,7 @@ namespace detail template< typename T > std::string serialize( const T& t, BOOST_DEDUCED_TYPENAME boost::enable_if< - BOOST_DEDUCED_TYPENAME detail::is_serializable< T > >::type* = 0 ) + BOOST_DEDUCED_TYPENAME is_serializable< T > >::type* = 0 ) { std::stringstream s; static_cast< std::ostream& >( s ) << std::boolalpha << t; @@ -59,16 +61,17 @@ namespace detail template< typename T > std::string serialize( const T&, BOOST_DEDUCED_TYPENAME boost::disable_if< - BOOST_DEDUCED_TYPENAME detail::is_serializable< T > >::type* = 0 ) + BOOST_DEDUCED_TYPENAME is_serializable< T > >::type* = 0 ) { return "?"; } +} } template< typename T > std::string format( const T& t ) { - return detail::serialize( t ); + return detail::protect::serialize( t ); } inline std::string format( const char* s )