Always forward declare string as it is not guaranteed that the

iosfwd header already does it.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21518 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Enrico Forestieri 2007-11-08 13:32:56 +00:00
parent d51c3cd2f8
commit edb6c9ede4

View File

@ -28,23 +28,23 @@ namespace lyx { typedef boost::uint32_t char_type; }
#endif #endif
#include<iosfwd> #include <iosfwd>
// We have to forward declare the string type as not all compilers
// do that in the iosfwd header.
namespace std
{
#ifdef _MSC_VER
namespace std {
template<typename Char, typename Traits, typename Alloc> class basic_string; template<typename Char, typename Traits, typename Alloc> class basic_string;
typedef basic_string<char, char_traits<char>, allocator<char> > string; typedef basic_string<char, char_traits<char>, allocator<char> > string;
} }
#endif
namespace lyx { namespace lyx {
/// String type for storing the main text in UCS4 encoding /// String type for storing the main text in UCS4 encoding
#ifdef _MSC_VER typedef std::basic_string<char_type, std::char_traits<char_type>,
typedef std::basic_string<char_type, std::char_traits<char_type>, std::allocator<char_type> > docstring; std::allocator<char_type> > docstring;
#else
typedef std::basic_string<char_type> docstring;
#endif
/// Base class for UCS4 input streams /// Base class for UCS4 input streams
typedef std::basic_istream<char_type> idocstream; typedef std::basic_istream<char_type> idocstream;