diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2018-08-16 23:36:38 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2018-08-16 23:37:08 +0900 |
commit | f3e216f001d6fb6af75f9728930bddf3da59cccf (patch) | |
tree | 06a2261125a736ce225f7a1c852fbece32f7439c /lib | |
parent | cbc61659188f9036f0efb5aaf95c6bf7cb558b17 (diff) | |
download | koffice-f3e216f001d6fb6af75f9728930bddf3da59cccf.tar.gz koffice-f3e216f001d6fb6af75f9728930bddf3da59cccf.zip |
Switch from strstream to sstream.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 7a7c17092fcdd4772fb6e499ef13429f96ac04bb)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/kross/python/cxx/Config.hxx | 41 | ||||
-rw-r--r-- | lib/kross/python/cxx/Extensions.hxx | 10 | ||||
-rw-r--r-- | lib/kross/python/cxx/Objects.hxx | 54 |
3 files changed, 32 insertions, 73 deletions
diff --git a/lib/kross/python/cxx/Config.hxx b/lib/kross/python/cxx/Config.hxx index 65bbc2d3b..7959c4039 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 69ce9a14b..99889ec7b 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 416483206..28662d4fa 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(); |