summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pugixml.hpp47
1 files changed, 4 insertions, 43 deletions
diff --git a/src/pugixml.hpp b/src/pugixml.hpp
index 44d4d76..74c520c 100644
--- a/src/pugixml.hpp
+++ b/src/pugixml.hpp
@@ -30,50 +30,11 @@
# include <exception>
#endif
+// Include STL headers
#ifndef PUGIXML_NO_STL
-// cstddef is needed so that we get the 'std' namespace declaration (STLport sometimes makes std a define)
-# include <cstddef>
-
-# if defined(PUGIXML_NO_STL_FWDDECL)
-# include <iterator>
-# include <iosfwd>
-# include <string>
-# else
-// Forward declarations for STL classes to reduce include dependencies
-namespace std
-{
- struct bidirectional_iterator_tag;
-
-#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;
-#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;
-
- // STLport defines char_traits as a class instead of a struct
-# ifdef _STLPORT_VERSION
- template <class _Ty> class char_traits;
-# else
- template <class _Ty> struct char_traits;
-# endif
-
- template <class _Elem, class _Traits> class basic_istream;
- template <class _Elem, class _Traits> class basic_ostream;
- template <class _Elem, class _Traits, class _Ax> class basic_string;
-#endif
-
- // Digital Mars compiler has a bug which requires a forward declaration for explicit instantiation (otherwise type selection is messed up later, producing link errors)
- // Also note that we have to declare char_traits as a class here, since it's defined that way
-#ifdef __DMC__
- template <> class char_traits<char>;
-#endif
-}
-#endif
+# include <iterator>
+# include <iosfwd>
+# include <string>
#endif
// Macro for deprecated features