diff options
| -rw-r--r-- | libadhocutil/compileTimeFormatter.h | 10 | ||||
| -rw-r--r-- | libadhocutil/unittests/testCompileTimeFormatter.cpp | 5 | 
2 files changed, 10 insertions, 5 deletions
diff --git a/libadhocutil/compileTimeFormatter.h b/libadhocutil/compileTimeFormatter.h index 8a92094..aeff488 100644 --- a/libadhocutil/compileTimeFormatter.h +++ b/libadhocutil/compileTimeFormatter.h @@ -176,20 +176,20 @@ namespace AdHoc {  		static std::string get(const Pn & ... pn)  		{  			std::stringstream s; -			run(Parser<S, 0, 0, *S>::parse(), s, pn...); -			return s.str(); +			return run(Parser<S, 0, 0, *S>::parse(), s, pn...).str();  		}  		template<typename stream, typename ... Pn> -		static void write(stream & s, const Pn & ... pn) +		static stream & write(stream & s, const Pn & ... pn)  		{ -			run(Parser<S, 0, 0, *S>::parse(), s, pn...); +			return run(Parser<S, 0, 0, *S>::parse(), s, pn...);  		}  		template<typename stream, char...ssn, template<bool, char...> class ParserBuffer, typename ... Pn> -		static void run(const ParserBuffer<false, ssn...> &, stream & s, const Pn & ... pn) +		static stream & run(const ParserBuffer<false, ssn...> &, stream & s, const Pn & ... pn)  		{  			StreamWriter<S, 0, stream, ssn...>::write(s, pn...); +			return s;  		}  	};  } diff --git a/libadhocutil/unittests/testCompileTimeFormatter.cpp b/libadhocutil/unittests/testCompileTimeFormatter.cpp index 0f021e5..df0d93c 100644 --- a/libadhocutil/unittests/testCompileTimeFormatter.cpp +++ b/libadhocutil/unittests/testCompileTimeFormatter.cpp @@ -117,6 +117,11 @@ BOOST_AUTO_TEST_CASE ( singleInt )  	BOOST_REQUIRE_EQUAL(this->str(), "single 32.");  } +BOOST_AUTO_TEST_CASE ( singleIntReturn ) +{ +	BOOST_REQUIRE_EQUAL(Formatter<formatStringSingle>::write(*this, 32).str(), "single 32."); +} +  BOOST_AUTO_TEST_CASE ( singleDouble )  {  	Formatter<formatStringSingle>::write(*this, 3.14);  | 
