diff --git a/include/internal/catch_tostring.h b/include/internal/catch_tostring.h index 2828be1a..23bfa0f2 100644 --- a/include/internal/catch_tostring.h +++ b/include/internal/catch_tostring.h @@ -35,6 +35,9 @@ namespace Catch { using ::operator<<; namespace Detail { + + extern const std::string unprintableString; + std::string rawMemoryToString( const void *object, std::size_t size ); template @@ -64,7 +67,7 @@ namespace Catch { static typename std::enable_if<::Catch::Detail::IsStreamInsertable::value, std::string>::type convert(const Fake& t) { - std::stringstream sstr; + std::ostringstream sstr; sstr << t; return sstr.str(); } @@ -73,14 +76,12 @@ namespace Catch { static typename std::enable_if::value, std::string>::type convert(const Fake&) { - return "{?}"; + return Detail::unprintableString; } }; namespace Detail { - extern const std::string unprintableString; - // This function dispatches all stringification requests inside of Catch. // Should be preferably called fully qualified, like ::Catch::Detail::stringify template