summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2018-08-16 23:36:38 +0900
committerMichele Calgaro <[email protected]>2018-08-16 23:36:38 +0900
commit7a7c17092fcdd4772fb6e499ef13429f96ac04bb (patch)
treee704b24ea9e06e2d1483130ab51bbc7b21723ad4
parentd3ca65fd8dd632a157f3199f07c6a765bd715b09 (diff)
downloadkoffice-7a7c17092fcdd4772fb6e499ef13429f96ac04bb.tar.gz
koffice-7a7c17092fcdd4772fb6e499ef13429f96ac04bb.zip
Switch from strstream to sstream.
Signed-off-by: Michele Calgaro <[email protected]>
-rw-r--r--filters/kspread/qpro/libqpro/src/formula.cc14
-rw-r--r--filters/kspread/qpro/libqpro/src/record.cc8
-rw-r--r--filters/kspread/qpro/libqpro/src/stream.cc4
-rw-r--r--lib/kross/python/cxx/Config.hxx41
-rw-r--r--lib/kross/python/cxx/Extensions.hxx10
-rw-r--r--lib/kross/python/cxx/Objects.hxx54
6 files changed, 43 insertions, 88 deletions
diff --git a/filters/kspread/qpro/libqpro/src/formula.cc b/filters/kspread/qpro/libqpro/src/formula.cc
index 13e3a457..aab0bb8d 100644
--- a/filters/kspread/qpro/libqpro/src/formula.cc
+++ b/filters/kspread/qpro/libqpro/src/formula.cc
@@ -1,7 +1,7 @@
#include <qpro/common.h>
#include <iostream>
-#include <strstream>
+#include <sstream>
#include <string.h>
@@ -474,30 +474,26 @@ void
QpFormula::floatFuncReal(const char*)
{
TQP_INT64 lFloat;
- std::ostrstream lNum;
+ std::ostringstream lNum;
cFormula >> lFloat;
lNum << lFloat << ends;
- cStack.push( lNum.str() );
-
- lNum.rdbuf()->freeze(0);
+ cStack.push( lNum.str().c_str() );
}
void
QpFormula::intFuncReal(const char*)
{
TQP_INT16 lInt;
- std::ostrstream lNum;
+ std::ostringstream lNum;
cFormula >> lInt;
lNum << lInt << ends;
- cStack.push( lNum.str() );
-
- lNum.rdbuf()->freeze(0);
+ cStack.push( lNum.str().c_str() );
}
void
diff --git a/filters/kspread/qpro/libqpro/src/record.cc b/filters/kspread/qpro/libqpro/src/record.cc
index 8aa877c6..461b65d3 100644
--- a/filters/kspread/qpro/libqpro/src/record.cc
+++ b/filters/kspread/qpro/libqpro/src/record.cc
@@ -10,7 +10,7 @@
// -----------------------------------------------------------------------
#include <iomanip>
-#include <strstream>
+#include <sstream>
void
Charout(ostream& pOut, unsigned char pChar)
@@ -32,7 +32,7 @@ Hexout(ostream& pOut, unsigned char pChar)
int
Hexout(char* pChar, int pLen)
{
- std::ostrstream* lOStr = new std::ostrstream;
+ std::ostringstream* lOStr = new std::ostringstream;
while( pLen )
{
@@ -57,7 +57,7 @@ Hexout(char* pChar, int pLen)
cerr << lOStr->rdbuf() << endl;
delete lOStr;
- lOStr = new std::ostrstream;
+ lOStr = new std::ostringstream;
}
delete lOStr;
@@ -200,7 +200,7 @@ QpRecCell::cellRef(char* pText, QpTableNames& pTable, TQP_INT16 /*pNoteBook*/, T
{
//??? cope with relative/absolute references
- std::strstream lOut(pText, 20, ios::out); // ??? ard coded len
+ std::stringstream lOut(pText, ios::out);
int lPageRelative = pRow & 0x8000;
int lColRelative = pRow & 0x4000;
int lRowRelative = pRow & 0x2000;
diff --git a/filters/kspread/qpro/libqpro/src/stream.cc b/filters/kspread/qpro/libqpro/src/stream.cc
index 012e18bb..390fc370 100644
--- a/filters/kspread/qpro/libqpro/src/stream.cc
+++ b/filters/kspread/qpro/libqpro/src/stream.cc
@@ -32,7 +32,7 @@ QpIStream::~QpIStream()
#else
#include <string>
#include <fstream>
-#include <strstream>
+#include <sstream>
// For IRIX
namespace std {}
@@ -61,7 +61,7 @@ QpIStream::QpIStream(unsigned char* pBuffer, unsigned int pLen)
, cOffset(0L)
, cStreamBuf(0)
{
- cStreamBuf = new std::strstreambuf (pBuffer, pLen);
+ cStreamBuf = new std::stringbuf ((char*)(pBuffer)); //cIn will read into char anyway....
cIn = new istream(cStreamBuf);
}
diff --git a/lib/kross/python/cxx/Config.hxx b/lib/kross/python/cxx/Config.hxx
index 65bbc2d3..7959c403 100644
--- a/lib/kross/python/cxx/Config.hxx
+++ b/lib/kross/python/cxx/Config.hxx
@@ -30,45 +30,4 @@
# define random_access_iterator_parent(itemtype) std::random_access_iterator<itemtype, int>
#endif
-//
-// Which C++ standard is in use?
-//
-#if defined( _MSC_VER )
-# if _MSC_VER <= 1200
-// MSVC++ 6.0
-# define PYCXX_ISO_CPP_LIB 0
-# define STR_STREAM <strstream>
-# define TEMPLATE_TYPENAME class
-# else
-# define PYCXX_ISO_CPP_LIB 1
-# define STR_STREAM <sstream>
-# define TEMPLATE_TYPENAME typename
-# endif
-#elif defined( __GNUC__ )
-# if __GNUC__ >= 3
-# define PYCXX_ISO_CPP_LIB 1
-# define STR_STREAM <sstream>
-# define TEMPLATE_TYPENAME typename
-# else
-# define PYCXX_ISO_CPP_LIB 0
-# define STR_STREAM <strstream>
-# define TEMPLATE_TYPENAME class
-# endif
-#endif
-
-#if PYCXX_ISO_CPP_LIB
-# define STR_STREAM <sstream>
-# define OSTRSTREAM ostringstream
-# define EXPLICIT_TYPENAME typename
-# define EXPLICIT_CLASS class
-# define TEMPLATE_TYPENAME typename
-#else
-# define STR_STREAM <strstream>
-# define OSTRSTREAM ostrstream
-# define EXPLICIT_TYPENAME
-# define EXPLICIT_CLASS
-# define TEMPLATE_TYPENAME class
-#endif
-
-
#endif // __PyCXX_config_hh__
diff --git a/lib/kross/python/cxx/Extensions.hxx b/lib/kross/python/cxx/Extensions.hxx
index 69ce9a14..99889ec7 100644
--- a/lib/kross/python/cxx/Extensions.hxx
+++ b/lib/kross/python/cxx/Extensions.hxx
@@ -158,7 +158,7 @@ namespace Py
extern "C" void do_not_dealloc( void * );
- template<TEMPLATE_TYPENAME T>
+ template<typename T>
class ExtensionModule : public ExtensionModuleBase
{
public:
@@ -213,7 +213,7 @@ namespace Py
// so that we get called back at the function in T.
//
method_map_t &mm = methods();
- EXPLICIT_TYPENAME method_map_t::iterator i;
+ typename method_map_t::iterator i;
for( i=mm.begin(); i != mm.end(); ++i )
{
@@ -434,7 +434,7 @@ namespace Py
static PyObject *method_call_handler( PyObject *self, PyObject *args );
};
- template<TEMPLATE_TYPENAME T>
+ template<typename T>
class PythonExtension: public PythonExtensionBase
{
public:
@@ -548,7 +548,7 @@ namespace Py
{
List methods;
- for( EXPLICIT_TYPENAME method_map_t::iterator i = mm.begin(); i != mm.end(); ++i )
+ for( typename method_map_t::iterator i = mm.begin(); i != mm.end(); ++i )
methods.append( String( (*i).first ) );
return methods;
@@ -701,7 +701,7 @@ namespace Py
//
// ExtensionObject<T> is an Object that will accept only T's.
//
- template<TEMPLATE_TYPENAME T>
+ template<typename T>
class ExtensionObject: public Object
{
public:
diff --git a/lib/kross/python/cxx/Objects.hxx b/lib/kross/python/cxx/Objects.hxx
index 41648320..28662d4f 100644
--- a/lib/kross/python/cxx/Objects.hxx
+++ b/lib/kross/python/cxx/Objects.hxx
@@ -17,7 +17,7 @@
#include <iostream>
-#include STR_STREAM
+#include <sstream>
#include <string>
#include <iterator>
#include <utility>
@@ -30,10 +30,10 @@ namespace Py
// Forward declarations
class Object;
class Type;
- template<TEMPLATE_TYPENAME T> class SeqBase;
+ template<typename T> class SeqBase;
class String;
class List;
- template<TEMPLATE_TYPENAME T> class MapBase;
+ template<typename T> class MapBase;
// new_reference_to also overloaded below on Object
inline PyObject* new_reference_to(PyObject* p)
@@ -837,7 +837,7 @@ namespace Py
// Changing them to Object(x[i]) helps the compiler to understand that the
// conversion of a seqref to an Object is wanted.
- template<TEMPLATE_TYPENAME T>
+ template<typename T>
class seqref
{
protected:
@@ -1027,7 +1027,7 @@ namespace Py
// class SeqBase<T>
// ...the base class for all sequence types
- template<TEMPLATE_TYPENAME T>
+ template<typename T>
class SeqBase: public Object
{
public:
@@ -1289,7 +1289,7 @@ namespace Py
std::string diagnose() const
{
- std::OSTRSTREAM oss;
+ std::ostringstream oss;
oss << "iterator diagnosis " << seq << ", " << count << std::ends;
return std::string(oss.str());
}
@@ -1436,19 +1436,19 @@ namespace Py
// Here's an important typedef you might miss if reading too fast...
typedef SeqBase<Object> Sequence;
- template <TEMPLATE_TYPENAME T> bool operator==(const EXPLICIT_TYPENAME SeqBase<T>::iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator!=(const EXPLICIT_TYPENAME SeqBase<T>::iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator< (const EXPLICIT_TYPENAME SeqBase<T>::iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator> (const EXPLICIT_TYPENAME SeqBase<T>::iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator<=(const EXPLICIT_TYPENAME SeqBase<T>::iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator>=(const EXPLICIT_TYPENAME SeqBase<T>::iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::iterator& right);
+ template <typename T> bool operator==(const typename SeqBase<T>::iterator& left, const typename SeqBase<T>::iterator& right);
+ template <typename T> bool operator!=(const typename SeqBase<T>::iterator& left, const typename SeqBase<T>::iterator& right);
+ template <typename T> bool operator< (const typename SeqBase<T>::iterator& left, const typename SeqBase<T>::iterator& right);
+ template <typename T> bool operator> (const typename SeqBase<T>::iterator& left, const typename SeqBase<T>::iterator& right);
+ template <typename T> bool operator<=(const typename SeqBase<T>::iterator& left, const typename SeqBase<T>::iterator& right);
+ template <typename T> bool operator>=(const typename SeqBase<T>::iterator& left, const typename SeqBase<T>::iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator==(const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator!=(const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator< (const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator> (const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator<=(const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator>=(const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& left, const EXPLICIT_TYPENAME SeqBase<T>::const_iterator& right);
+ template <typename T> bool operator==(const typename SeqBase<T>::const_iterator& left, const typename SeqBase<T>::const_iterator& right);
+ template <typename T> bool operator!=(const typename SeqBase<T>::const_iterator& left, const typename SeqBase<T>::const_iterator& right);
+ template <typename T> bool operator< (const typename SeqBase<T>::const_iterator& left, const typename SeqBase<T>::const_iterator& right);
+ template <typename T> bool operator> (const typename SeqBase<T>::const_iterator& left, const typename SeqBase<T>::const_iterator& right);
+ template <typename T> bool operator<=(const typename SeqBase<T>::const_iterator& left, const typename SeqBase<T>::const_iterator& right);
+ template <typename T> bool operator>=(const typename SeqBase<T>::const_iterator& left, const typename SeqBase<T>::const_iterator& right);
extern bool operator==(const Sequence::iterator& left, const Sequence::iterator& right);
@@ -1916,7 +1916,7 @@ namespace Py
// Mappings
// ==================================================
- template<TEMPLATE_TYPENAME T>
+ template<typename T>
class mapref
{
protected:
@@ -2085,7 +2085,7 @@ namespace Py
return true; // not completed.
}
- template<TEMPLATE_TYPENAME T>
+ template<typename T>
class MapBase: public Object
{
protected:
@@ -2372,7 +2372,7 @@ namespace Py
std::string diagnose() const
{
- std::OSTRSTREAM oss;
+ std::ostringstream oss;
oss << "iterator diagnosis " << map << ", " << pos << std::ends;
return std::string(oss.str());
}
@@ -2477,10 +2477,10 @@ namespace Py
typedef MapBase<Object> Mapping;
- template <TEMPLATE_TYPENAME T> bool operator==(const EXPLICIT_TYPENAME MapBase<T>::iterator& left, const EXPLICIT_TYPENAME MapBase<T>::iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator!=(const EXPLICIT_TYPENAME MapBase<T>::iterator& left, const EXPLICIT_TYPENAME MapBase<T>::iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator==(const EXPLICIT_TYPENAME MapBase<T>::const_iterator& left, const EXPLICIT_TYPENAME MapBase<T>::const_iterator& right);
- template <TEMPLATE_TYPENAME T> bool operator!=(const EXPLICIT_TYPENAME MapBase<T>::const_iterator& left, const EXPLICIT_TYPENAME MapBase<T>::const_iterator& right);
+ template <typename T> bool operator==(const typename MapBase<T>::iterator& left, const typename MapBase<T>::iterator& right);
+ template <typename T> bool operator!=(const typename MapBase<T>::iterator& left, const typename MapBase<T>::iterator& right);
+ template <typename T> bool operator==(const typename MapBase<T>::const_iterator& left, const typename MapBase<T>::const_iterator& right);
+ template <typename T> bool operator!=(const typename MapBase<T>::const_iterator& left, const typename MapBase<T>::const_iterator& right);
extern bool operator==(const Mapping::iterator& left, const Mapping::iterator& right);
extern bool operator!=(const Mapping::iterator& left, const Mapping::iterator& right);
@@ -2787,13 +2787,13 @@ namespace Py
-template<TEMPLATE_TYPENAME T>
+template<typename T>
String seqref<T>::str () const
{
return the_item.str();
}
-template<TEMPLATE_TYPENAME T>
+template<typename T>
String seqref<T>::repr () const
{
return the_item.repr();