diff --git a/kwsys_ios_sstream.h.in b/kwsys_ios_sstream.h.in index 2fbab781edcd4908f8a39198c0cd16913230cb04..cbd299ba0d43a3802b5314dfad9e0c1c6db87c5a 100644 --- a/kwsys_ios_sstream.h.in +++ b/kwsys_ios_sstream.h.in @@ -83,6 +83,7 @@ class ostringstream: public ostrstream public: typedef ostrstream Superclass; ostringstream() {} + ostringstream(const kwsys_stl::string& s) { *this << s.c_str(); } kwsys_stl::string str() { ostringstream_cleanup cleanup(*this); @@ -91,6 +92,11 @@ public: const char* ptr = this->Superclass::str(); return kwsys_stl::string(ptr?ptr:"", pcount); } + void str(const kwsys_stl::string& s) + { + this->~ostringstream(); + new (this) ostringstream(s); + } private: ostringstream(const ostringstream&); void operator=(const ostringstream&);