ENH: provide stringstream too. FIX: warning shadow var
This commit is contained in:
parent
7d1801beee
commit
cc73abf7e7
|
@ -64,6 +64,7 @@ using @KWSYS_NAMESPACE@_ios_namespace::ostream;
|
|||
using @KWSYS_NAMESPACE@_ios_namespace::istream;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::istrstream;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::ostrstream;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::strstream;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::ios;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::endl;
|
||||
using @KWSYS_NAMESPACE@_ios_namespace::ends;
|
||||
|
@ -91,9 +92,9 @@ public:
|
|||
{
|
||||
ostringstream_cleanup cleanup(*this);
|
||||
ostringstream_cleanup::IgnoreUnusedVariable(cleanup);
|
||||
int pcount = this->pcount();
|
||||
int count = this->pcount();
|
||||
const char* ptr = this->Superclass::str();
|
||||
return kwsys_stl::string(ptr?ptr:"", pcount);
|
||||
return kwsys_stl::string(ptr?ptr:"", count);
|
||||
}
|
||||
void str(const kwsys_stl::string& s)
|
||||
{
|
||||
|
@ -134,6 +135,17 @@ private:
|
|||
# pragma warning (pop)
|
||||
#endif
|
||||
|
||||
class stringstream: public istringstream, public ostringstream
|
||||
{
|
||||
public:
|
||||
stringstream():istringstream(),ostringstream() {}
|
||||
kwsys_stl::string str() const { return istringstream::str(); }
|
||||
kwsys_stl::string str() { return ostringstream::str(); }
|
||||
private:
|
||||
stringstream(const stringstream&);
|
||||
void operator=(const stringstream&);
|
||||
};
|
||||
|
||||
} // namespace @KWSYS_NAMESPACE@_ios
|
||||
|
||||
#endif
|
||||
|
|
|
@ -13,8 +13,36 @@
|
|||
|
||||
int main()
|
||||
{
|
||||
const char refstring[] = "Hello, World!";
|
||||
kwsys_ios::ostringstream ostr;
|
||||
ostr << "Hello, World!";
|
||||
ostr << refstring;
|
||||
kwsys_ios::cout << ostr.str() << kwsys_ios::endl;
|
||||
if( ostr.str() != refstring )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
kwsys_ios::istringstream istr;
|
||||
istr.str( refstring );
|
||||
kwsys_ios::cout << istr.str() << kwsys_ios::endl;
|
||||
if( istr.str() != refstring )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
const int val = 12345;
|
||||
const char valstr[] = "12345";
|
||||
kwsys_ios::stringstream sstr;
|
||||
sstr << val;
|
||||
int v = 0;
|
||||
sstr >> v;
|
||||
if(v != val || sstr.str() != valstr)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
kwsys_ios::cout << sstr.str() << kwsys_ios::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue