summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pugixml.hpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/pugixml.hpp b/src/pugixml.hpp
index b01da4f..efcc471 100644
--- a/src/pugixml.hpp
+++ b/src/pugixml.hpp
@@ -41,11 +41,19 @@ namespace std
#ifdef __SUNPRO_CC
// Sun C++ compiler has a bug which forces template argument names in forward declarations to be the same as in actual definitions
- template <class _T> class allocator;
- template <class _charT> struct char_traits;
- template <class _charT, class _Traits> class basic_istream;
- template <class _charT, class _Traits> class basic_ostream;
- template <class _charT, class _Traits, class _Allocator> class basic_string;
+# ifndef _STLPORT_VERSION
+ template <class T> class allocator;
+ template <class charT> struct char_traits;
+ template <class charT, class traits > class basic_istream;
+ template <class charT, class traits > class basic_ostream;
+ template <class charT, class traits, class Allocator> class basic_string;
+# else
+ template <class _T> class allocator;
+ template <class _charT> struct char_traits;
+ template <class _charT, class _Traits> class basic_istream;
+ template <class _charT, class _Traits> class basic_ostream;
+ template <class _charT, class _Traits, class _Allocator> class basic_string;
+# endif
#else
// Borland C++ compiler has a bug which forces template argument names in forward declarations to be the same as in actual definitions
template <class _Ty> class allocator;