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 #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 - -# if defined(PUGIXML_NO_STL_FWDDECL) -# include -# include -# include -# 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 allocator; - template struct char_traits; - template class basic_istream; - template class basic_ostream; - template 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 allocator; - - // STLport defines char_traits as a class instead of a struct -# ifdef _STLPORT_VERSION - template class char_traits; -# else - template struct char_traits; -# endif - - template class basic_istream; - template class basic_ostream; - template 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; -#endif -} -#endif +# include +# include +# include #endif // Macro for deprecated features