From 9d591f19ff6b0dfe4469e1d4b6a60f92f2357c06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Sun, 2 Aug 2020 18:50:56 +0200 Subject: [PATCH] Allow explicitly setting ReusableStringStream's serialized data --- src/catch2/internal/catch_stream.cpp | 6 +++++- src/catch2/internal/catch_stream.hpp | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) 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