diff --git a/src/catch2/internal/catch_stream.cpp b/src/catch2/internal/catch_stream.cpp index ec1179d3..1a723aad 100644 --- a/src/catch2/internal/catch_stream.cpp +++ b/src/catch2/internal/catch_stream.cpp @@ -173,10 +173,14 @@ namespace Detail { Singleton::getMutable().release( m_index ); } - auto ReusableStringStream::str() const -> std::string { + std::string ReusableStringStream::str() const { return static_cast( m_oss )->str(); } + void ReusableStringStream::str( std::string const& str ) { + static_cast( m_oss )->str( str ); + } + /////////////////////////////////////////////////////////////////////////// diff --git a/src/catch2/internal/catch_stream.hpp b/src/catch2/internal/catch_stream.hpp index 557797ae..51d32e62 100644 --- a/src/catch2/internal/catch_stream.hpp +++ b/src/catch2/internal/catch_stream.hpp @@ -37,7 +37,10 @@ namespace Catch { ReusableStringStream(); ~ReusableStringStream(); - auto str() const -> std::string; + //! Returns the serialized state + std::string str() const; + //! Sets internal state to `str` + void str(std::string const& str); #if defined(__GNUC__) && !defined(__clang__) #pragma GCC diagnostic push